Intent 通知的Flag定义

来源:互联网 发布:linux下怎么退出vi 编辑:程序博客网 时间:2024/04/29 10:23
// 第一种情况,点击通知栏,不会出现两个相同Activity出现
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        Notification notification = new Notification(R.drawable.ic_launcher,
                "来了一个通知", System.currentTimeMillis());

        notification.defaults = Notification.DEFAULT_ALL;
        notification.flags = Notification.FLAG_ONGOING_EVENT;

        Intent intent = new Intent(this, MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);

        // 预备式的Intent
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                intent, PendingIntent.FLAG_UPDATE_CURRENT);

        notification.setLatestEventInfo(this, "消息的内容标题", "通知的内容.....",
                contentIntent);

        manager.notify(1, notification);

// 第二种情况,通知栏点击打开应用当前界面,不指定某个Activity
// 当点击通知的时候,当前应用当前界面。

        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setComponent(new ComponentName(getPackageName(),
                "com.dashuai.music.qd.SplashActivity(第一个Activity,需要自信修改)"));

 intent.setFlags(
 Intent.FLAG_ACTIVITY_NEW_TASK | 
 Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED |
 Intent.FLAG_ACTIVITY_CLEAR_TOP
);



0 0
原创粉丝点击