【问题标题】:Open dialog fragment upon click of notification单击通知时打开对话框片段
【发布时间】:2016-09-12 16:55:07
【问题描述】:

我在 MainActivity 中收到通知。当我单击它时,它应该打开对话框片段。目前我正在这样做 -

String textNotificationMessage = textMessageReceivedEvent.getMessage();

Intent notificationIntent = new Intent(MainActivity.this, MessagingDialogFragment.class);
        notificationIntent.putExtra("NotificationMessage",textNotificationMessage);

        MessagingDialogFragment messagingDialogFragment = (MessagingDialogFragment) MessagingDialogFragment.instantiate(MainActivity.this, MessagingDialogFragment.class.getName());
        messagingDialogFragment.show(getSupportFragmentManager(),MessagingDialogFragment.class.getName());

        PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);
        Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

这样做是,每当我收到通知时,它会自动打开DialogFragment,而无需单击。但我需要点击后打开它。我如何做到这一点?

【问题讨论】:

  • 你什么时候执行这段代码?在 onMessageReceived() 里面?
  • 是的...通知弹出代码在这个方法中。我想实现点击通知
  • @phongvan 这是关于不显示通知但显示对话框的问题。我的问题是根据点击通知显示对话框
  • 我知道,通知使用意图来调用活动。作为我给你的推荐。它使用意图打开一个活动。活动不平坦,它直接打开一个对话框。

标签: android android-fragments


【解决方案1】:

这样创建一个名为 MyDialog.java 的活动 现在在您的清单文件中执行下面给出的操作

<activity 
android:name=". MyDialog"
android:theme="@android:style/Theme.Dialog" />

现在在通知的点击事件上导航到此活动。

【讨论】:

    【解决方案2】:

    在通知上设置 onClickListener 的唯一方法是通过PendingIntent。只需让PendingIntent 打开您的一个 Activity 并让您的 Activity 完全透明,并将打开对话框的代码放在 onCreate()finish() Activity 中关闭对话框即可。

    Intent notifyIntent = new Intent(context,ActivityContainingDialog.class);
    notifyIntent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
    //UNIQUE_ID if you expect more than one notification to appear
    PendingIntent intent = PendingIntent.getActivity(SimpleNotification.this, UNIQUE_ID, 
                notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多