android - 我如何知道点击通知后是否打开了 Activity ?

标签 android android-intent android-activity

我有一个显示列表的 MainActivity。但是当用户点击状态栏中的通知时,我想在 MainActivity 之上显示一个对话框。 是否可以查询 Activity 是否通过通知启动?

我还尝试向 Intent 添加额外信息,让 Activity 知道它应该弹出该对话框。但是包总是空的。将它添加到 onResume() 没有意义,因为 Activity 可能已经可见。

    long id = intent.getLongExtra("id", 0);
    String title = intent.getStringExtra("msg");

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
    mBuilder.setSmallIcon(R.drawable.ic_action_ic_action_edit);
    mBuilder.setContentTitle("EasyReminder");
    mBuilder.setContentText(title);
    Intent resultIntent = new Intent(context, MainActivity.class);
    resultIntent.setAction(Intent.ACTION_MAIN);
    resultIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    resultIntent.putExtra("ShowDialog", true);

     PendingIntent pi = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    mBuilder.setContentIntent(pi);
    NotificationManager mNotificationManager = 
            (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);

    mNotificationManager.notify((int)id, mBuilder.build());

主 Activity .java

@Override
public void onResume() {
    super.onResume();
    // this is always null
    Bundle extras = getIntent().getExtras();
    if(extras != null) {
        DialogPopupFragment fr = new DialogPopupFragment();
        fr.show(getFragmentManager(), "DialogPopupFragment");
    }
}

最佳答案

尝试在 resultIntent 上设置标志 FLAG_ACTIVITY_SINGLE_TOP,并实现方法 MainActivity 中的 onNewIntent()

关于android - 我如何知道点击通知后是否打开了 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869138/

相关文章:

java - 如何以编程方式在你的安卓应用程序中打开谷歌教室

java - 如果一个 Activity 实现了回调并且该引用被传递给另一个线程中的网络调用并且屏幕被旋转,这是否是内存泄漏?

android - Google Developers Console 项目和 Google **Play** Developers Console 项目有什么区别?

android - 用户快速触摸 MediaController。错误只发生在 Nexus 4 上。

android - 尝试转到新的Intent时,Android App崩溃

android - Activity 未完成

Android - 是否可以确定一个 Activity 是否从另一个任务开始?

java - 尝试从服务器获取响应,但仅显示 "Toast Server not responding"

java - 在android中将xml布局的背景设置为相机

android - 如何在List Activity中实现onItemClickListener