極光推送點選通知彈出toast+不能被取消的通知
阿新 • • 發佈:2019-02-10
傳送通知:
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification.Builder buider=new Notification.Builder(MainActivity.this); buider.setSmallIcon(R.mipmap.ic_launcher); buider.setTicker("ticker"); buider.setContentTitle("title"); buider.setContentText(此程式碼的意思就是不能被清理,類似QQ,只有當程序被清理的時候才會消失"shhhhdsdddddddd"); buider.setWhen(System.currentTimeMillis()); Intent i=new Intent(MainActivity.this,Main22Activity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent intent=PendingIntent.getActivity(MainActivity.this,2,i,PendingIntent.FLAG_UPDATE_CURRENT); buider.setContentIntent(intent); Notification build = buider.build();build.flags=Notification.FLAG_NO_CLEAR; notificationManager.notify(1,build);
然後點選通知出現toast,此處實際上是啟動一個沒有介面的activity,然後在activity裡面傳送toast再finsh這個activity
配置沒有介面的activity:(參考連結:http://blog.csdn.net/chaoyang805/article/details/48354423?locationNum=7)
<style name="AppTheme.NoDisplay"然後讓activity配置這個theme,parent="AppTheme"> <item name="android:windowBackground">@null</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@null</item> <item name="android:windowDisablePreview">true</item> <item name="android:windowNoDisplay">true</item> </style>
再在activity中:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Toast.makeText(this, "精神分裂 勞動法律水電費高大上 該公司市工商局 三個是個好說過 是國" + "家說過三個就是個三四十個是個是國家說過", Toast .LENGTH_SHORT).show(); this.finish(); }
最後再在activity的配置中加上下面的屬性,保證觸控手機左邊觸控鍵或者home建時不出現在最近的任務中,完全隱藏此activity
<activity android:name=".Main22Activity" android:theme="@style/AppTheme.NoDisplay" android:excludeFromRecents="true" > </activity>這樣就完成了,類似極光推送那樣在除錯模式下出現的取消不掉的通知了