import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; public class TestNotificationActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /*通知管理器是用来处理通知的系统服务。使用getSystemService方法可以获得对它的引用*/ String svcName = Context.NOTIFICATION_SERVICE; NotificationManager notificationManager; notificationManager = (NotificationManager)getSystemService(svcName); //通过使用通知管理器,可以触发新的通知,修改现有的通知或者删除那些不再需要的通知。 /**Android提供了使用通知向用户传递信息的多种方式。 * 1.状态栏图标 * 2.扩展的通知状态绘制器 * 3.额外的效果,比如声音和振动 */ //创建一个通知 //选择一个Drawable来作为状态栏图标的显示 int icon = R.drawable.ic_launcher; //当启动通知时在状态栏显示的文本 String tickerText = "秦哲,你好。"; //扩展的状态栏按时间顺序排序通知 long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); //notification.number++; //所表示事件数量,如果设定值大于1,状态栏图标就会被一个小数字覆盖 Context context = getApplicationContext(); //展开的状态窗口中显示的文本 String expandedText = "我爱你"; //展开的状态的标题 String expandedTitle = "ez"; //当单击展开的文本时,用于启动一个活动的意图。 Intent intent = new Intent(this, TestNotificationActivity.class); PendingIntent launchIntent = PendingIntent.getActivity(context, 0, intent, 0); notification.setLatestEventInfo(context, expandedTitle, expandedText, launchIntent); //要触发一个通知,需要把它和一个整型的引用ID一起传递给NotificationManager的notify方法 int notificationRef = 1; notificationManager.notify(notificationRef, notification); /**要更新一个已经被触发的通知,需要使用通知管理器重新触发它,并传递给notify方法相同的 * 引用ID。既可以传递给它一个相同的Notification对象,也可以传递给它一个全新的Notification对象。 * 只要ID值是相同的,那么新的Notification就会被用来代替状态栏图标以及展开的状态窗口中的内容。 */ //可以使用引用ID,通过调用通知管理器的cancel方法来取消通知 //notificationManager.cancel(notificationRef); //取消一个通知的操作会把它从状态栏图标中移除,并且把它从扩展状态窗口中清楚。 } }
android通知的使用
最新推荐文章于 2022-10-12 00:46:48 发布