[Android(安卓)Pro] Notification的使用
16lz
2022-06-17
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上传文件到Django服务器
- Android(安卓)TextView 给文本中指定片段添加自定义点击事件
- Android(安卓)M 去除抽屉模式
- Android在程序中动态生成控件,动态布局
- android 添加sensor 权限
- Android(安卓)Jetpack Compose 之 Text
- AndroidManifest 合并出错 tools:replace="android:allowBackup"
- Android(安卓)手机端与服务端POST数据交互类
- android实现图片平铺效果&WebView多点触控实现缩放