android Notification
android Notification 的使用:
Broadcast Receiver 组件并没有提供可视化的UI来显示信息, 我们可以使用 Notification 和NotificationManage 来实现可视化的信息通知, 通过使用Notification 可以实现显示广播信息的内容 图标 和振动 等信息.
使用Notification 比较简单,一般获得系统级的服务NotificationManage , 然后 实例化 Notification ,设置其属性 ,通过NotificationManage 发出通知就可以了.
下面来看具体实现的 小例子 :
package com.app; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class NotificationActivity extends Activity { Button button1,button2 ; NotificationManager nm; Notification notification; private final static int ID =1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); String service = Context.NOTIFICATION_SERVICE; nm =(NotificationManager) getSystemService(service); button1.setText("发出通知"); button2.setText("取消通知"); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { noti(); } }); button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { nm.cancel(ID); } }); } private void noti() { notification = new Notification(); notification.icon=R.drawable.ic_launcher; notification.tickerText="收到新短信"; notification.when=System.currentTimeMillis(); // notification.defaults |= Notification.DEFAULT_LIGHTS;//闪光灯 notification.defaults |= Notification.DEFAULT_SOUND;//系统默认提示音 // notification.defaults |= Notification.DEFAULT_VIBRATE;//震动 //震动 /* long[] vibrate = {0,100,200,300}; notification.vibrate = vibrate;*/ //闪光灯 /*notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags |= Notification.FLAG_SHOW_LIGHTS;*/ PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), 0); notification.setLatestEventInfo(this, "短信标题", "短信内容---", contentIntent); nm.notify(ID,notification); } }