首页 > 代码库 > [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的使用