Notification与前台service

匿名 (未验证) 提交于 2019-12-03 00:22:01

private void showNotification() {     Intent intent = new Intent(this, MainActivity.class);     NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(this);     mBuilder.setSmallIcon(R.drawable.air)             .setContentTitle("content title")             .setContentText("content text")             .setContentInfo("content info")             .setContentIntent(PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT));      mBuilder.setDefaults(Notification.DEFAULT_ALL);//    Notification notification = mBuilder.build();//4.1.build();     notification.flags |= Notification.FLAG_AUTO_CANCEL;// cancel    manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);     manager.notify(notification_id,notification);     startForeground(notification_id,notification); }

public class MainActivity extends AppCompatActivity {     private Button send;     private Button cancle;      NotificationManager manager;     int notification_id;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         send = (Button) findViewById(R.id.send);         cancle = (Button) findViewById(R.id.cancle);          manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);          send.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 Intent intent = new Intent(MainActivity.this, MessageActivity.class);                 NotificationCompat.Builder mBuilder=new NotificationCompat.Builder(MainActivity.this);                 mBuilder.setSmallIcon(R.drawable.air)                         .setContentTitle("content title")                         .setContentText("content text")                         .setContentInfo("content info"); //                        .setContentIntent(PendingIntent.getActivity(MainActivity.this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT));                  //Builder                 TaskStackBuilder stackBuilder=TaskStackBuilder.create(MainActivity.this);                 stackBuilder.addParentStack(MessageActivity.class);                 stackBuilder.addNextIntent(intent);                 PendingIntent pendingIntent=stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);                 mBuilder.setContentIntent(pendingIntent);                  mBuilder.setDefaults(Notification.DEFAULT_ALL);//                Notification notification = mBuilder.build();//4.1.build();                 notification.flags |= Notification.FLAG_AUTO_CANCEL;// cancel                manager.notify(notification_id,notification);             }          });          cancle.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 manager.cancel(notification_id);             }         });      } } 

MessageActivity是一个空Activity

然后配置AndroidManifest,给MessageActivity设置parentActivityName

<activity android:name=".MainActivity">     <intent-filter>         <action android:name="android.intent.action.MAIN" />         <category android:name="android.intent.category.LAUNCHER" />     </intent-filter> </activity> <activity android:name=".MessageActivity"     android:parentActivityName=".MainActivity"> </activity>






 
 
 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!