标签:notification notificationmanager 安卓通知栏
上篇学习了 Dialog实现的 6中方式 :普通对话框,列表对话框,单选对话框,多选对话框,自定义对话框和 activity 实现 对话框;
(1)Notification 实现 通知
(2)Notification 的权限
(3)NotificationManager 实现操作通知
两个按钮:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/textView1" android:layout_marginTop="16dp" android:text="发送通知" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/button1" android:text="取消通知" /> </RelativeLayout>
package com.example.studydemo7; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Notification; import android.app.Notification.Builder; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button button1,button2; //通知 是通过 NotificationManager 来管理的 private NotificationManager manager; private final int NOTIFICATION_ID=1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化 得到 通知 系统服务 manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); button1=(Button) findViewById(R.id.button1); button2=(Button) findViewById(R.id.button2); button1.setOnClickListener(new button1ClickListener()); button2.setOnClickListener(new button2ClickListener()); } class button1ClickListener implements OnClickListener{ @Override public void onClick(View v) { //发送通知 sendNotification(); } } class button2ClickListener implements OnClickListener{ @Override public void onClick(View v) { //取消通知 manager.cancel(NOTIFICATION_ID); } } @SuppressLint("NewApi") private void sendNotification(){ //通过 Builder 来创建 Notification 的 Builder builder=new Notification.Builder(this); //设置 通知 图标 builder.setSmallIcon(R.drawable.ic_launcher); //设置 通知 显示标题 builder.setTicker("Hi"); //设置 通知栏 标题 builder.setContentTitle("StudyDemo"); //设置 通知内容 builder.setContentText("StudyDemo 需要更新了!"); //设置 提醒 声音/震动/指示灯 builder.setDefaults(Notification.DEFAULT_ALL); //设置 点击后的跳转 通过 pendingIntent 实现 Intent intent=new Intent(this,MainActivity.class); PendingIntent pendingIntent=PendingIntent.getActivity(this,0, intent,0); builder.setContentIntent(pendingIntent); //创建 通知 //安卓4.1 及其 以上使用 build()方法 ,以下的使用 builder.getNotification(); Notification notification=builder.build(); manager.notify(NOTIFICATION_ID, notification); } }
http://download.csdn.net/detail/lablenet/9048745
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:notification notificationmanager 安卓通知栏
原文地址:http://blog.csdn.net/lablenet/article/details/47999961