首页 > 代码库 > [Android Pro] Notification的使用
[Android Pro] Notification的使用
Android 4.0以前:
1: 普通的notification
private static final int NOTIFY_ID = 0;notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); private void showNotification(Store store) { Notification notification = new Notification(); notification.flags |= Notification.FLAG_SHOW_LIGHTS; notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.defaults = Notification.DEFAULT_ALL; notification.icon = R.drawable.ic_launch; notification.when = System.currentTimeMillis(); Intent intent = new Intent(this,AlarmActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("store", store); PendingIntent contentIntent = PendingIntent.getActivity(this, 0,intent, PendingIntent.FLAG_UPDATE_CURRENT);//FLAG_ONE_SHOT //Change the name of the notification here notification.setLatestEventInfo(this, store.getStoreName()+"("+store.getDistance()+")", store.getAddress(), contentIntent); notificationManager.notify(NOTIFY_ID, notification); }
2: 将服务service设置为前台notification
public class MyService extends Service { @Override public void onCreate() { super.onCreate(); setServiceForground(); } @SuppressWarnings("deprecation") public void setServiceForground() { Notification notification = new Notification(R.drawable.ic_launcher, "my_service_name", System.currentTimeMillis());
//要添加newtask PendingIntent p_intent = PendingIntent.getActivity(this, 0, new Intent( this, MainActivity.class), 0); notification.setLatestEventInfo(this, "MyServiceNotification", "MyServiceNotification is Running!", p_intent); startForeground(0x1982, notification); }
@Override public IBinder onBind(Intent intent) { return null; }}
Android 4.0 以后:
将服务service设置为前台notification
public class MyService extends Service { @Override public void onCreate() { super.onCreate(); setServiceForground(); } @Override public void onDestroy() { super.onDestroy(); } public void setServiceForground() { Notification.Builder build = new Notification.Builder(this);// PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(// this, MainActivity.class), 0);// build.setContentIntent(contentIntent); build.setSmallIcon(R.drawable.ic_launcher); build.setContentTitle("MyServiceNotification"); build.setContentText("MyServiceNotification is Running!"); startForeground(0x1982, build.build()); } @Override public IBinder onBind(Intent intent) { return null; }}
[Android Pro] Notification的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。