极光推送点击通知弹出toast+不能被取消的通知

发送通知:

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("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);
此代码的意思就是不能被清理,类似QQ,只有当进程被清理的时候才会消失

然后点击通知出现toast,此处实际上是启动一个没有界面的activity,然后在activity里面发送toast再finsh这个activity

配置没有界面的activity:(参考链接:http://blog.csdn.net/chaoyang805/article/details/48354423?locationNum=7)

<style name="AppTheme.NoDisplay" 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配置这个theme,

再在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>
这样就完成了,类似极光推送那样在调试模式下出现的取消不掉的通知了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章