如何使用通过通知传递的意图更新活动

kobbycoder

我已经创建了一个自定义通知,但是当我使用“主页”按钮暂停活动并收到通知时,我按通知,它将创建一个新活动,并且不恢复预览活动,而当我按“后退”按钮时,它将转到预览一个是相同的窗口。我试过了singleTop, singleTask, singleIntent,它可以工作,但是在输入消息时它不会更新活动,就像预览活动处于暂停状态一样。我该如何解决?

如果在恢复活动,销毁暂停的活动或重新启动活动方面没有解决办法,是否有办法解决?

public void CustomNotification(String strtext) {
        // Using RemoteViews to bind custom layouts into Notification
        RemoteViews remoteViews = new RemoteViews(getPackageName(),
                R.layout.customnotification);

        // Set Notification Title
        String strtitle = getString(R.string.customnotificationtitle);
        // Open NotificationView Class on Notification Click
        Intent intent = new Intent(this, NotificationView.class);
        // Send data to NotificationView Class
        intent.putExtra("title", strtitle);
        intent.putExtra("text", strtext);
        intent.putExtra("String T", "");
        //intent.putExtra("Integer C", 0);

        // Open NotificationView.java Activity
        PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
                PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                // Set Icon
                .setSmallIcon(R.drawable.ic_launcher)
                        // Set Ticker Message
                .setTicker(getString(R.string.customnotificationticker))
                        // Dismiss Notification
                .setAutoCancel(true)
                        // Set PendingIntent into Notification
                .setContentIntent(pIntent)
                        // Set RemoteViews into Notification
                .setContent(remoteViews);

        // Locate and set the Image into customnotificationtext.xml ImageViews
        remoteViews.setImageViewResource(R.id.imagenotileft,R.drawable.ic_launcher);
        remoteViews.setImageViewResource(R.id.imagenotiright,R.mipmap.ic_action_chat);

        // Locate and set the Text into customnotificationtext.xml TextViews
        remoteViews.setTextViewText(R.id.title,getString(R.string.customnotificationtitle));
        remoteViews.setTextViewText(R.id.text, strtext);

        // Create Notification Manager
        NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // Build Notification with Notification Manager
        notificationmanager.notify(0, builder.build());

    }

日志:

04-29 01:29:10.453  29001-29001/com.example.example E/STATE﹕NEW ACTIVITY
04-29 01:29:15.376  29501-29501/com.example.example D/Activity﹕ Activity.onPause(), editTextTapSensorList size: 0
04-29 01:30:06.981  29501-29501/com.example.example E/STATE﹕ RESUMING

当我按下通知时:

04-29 01:33:09.654  33449-33530/com.example.example E/STATE﹕NEW ACTIVITY

我将不胜感激,谢谢!

已编辑

回答:

答案是添加:

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

因为当我在同一个窗口中并且按了“主页”按钮时,活动处于暂停状态,所以如果收到一些通知,它将带我到那个窗口,但是没有更新消息,因此我需要创建一个新的意图并清除上一个意图处于暂停状态。这样代码就完成了工作。

安斯曼

在您的服务代码中尝试此操作以使用通知:

 private static final int NOTIFY_ME_ID = 1222;
   NotificationManager mNotificationManager = (NotificationManager) this
                .getSystemService(Context.NOTIFICATION_SERVICE);

     private void Notifi(String message){
        int requestID = (int) System.currentTimeMillis();
                Intent intent = new Intent(Intent.ACTION_MAIN);
                //CLEAR PREVIOUS ACTIVITIES AND CREATE A NEW ONE
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                        | Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setComponent(new ComponentName("packagenameofyourapplication",
                        "packagenameofyourapplication.NotificationView"));
                PendingIntent pintent = PendingIntent.getActivity(this, 0, intent,
                        PendingIntent.FLAG_UPDATE_CURRENT);

                Notification notif = new Notification.Builder(this)
                        .setContentTitle(getString(R.string.notification_titel)).setContentText(message)
                        .setSmallIcon(R.drawable.ic_launcher).setAutoCancel(true)
                        .setContentIntent(pintent).build();
                notif.flags = Notification.FLAG_NO_CLEAR;
                mNotificationManager.notify(NOTIFY_ME_ID, notif);

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回通过意图传递值的活动

来自分类Dev

如何通过意图形式将价值从第一活动传递到第三活动?

来自分类Dev

使用意图在活动之间传递数据

来自分类Dev

使用意图从活动传递变量

来自分类Dev

如何在Android上使用通知点击意图中的新数据重新启动当前活动

来自分类Dev

通过意图将图像URL传递到新活动

来自分类Dev

如何通过意图传递图像?

来自分类Dev

如何通过意图传递对象

来自分类Dev

如何通过意图传递图像?

来自分类Dev

如何通过意图传递View对象?

来自分类Dev

如何从后台服务的全屏意图通知Android打开活动

来自分类Dev

如何使用SherlockListFragment意图启动新活动?

来自分类Dev

如何使用SherlockListFragment意图启动新活动?

来自分类Dev

从意图通知父项活动

来自分类Dev

从意图通知父项活动

来自分类Dev

如何将意图从活动传递给扩展LinearLayout的类

来自分类Dev

使用单选按钮将活动作为意图传递

来自分类Dev

如何使用通知打开活动

来自分类Dev

如何使用显式意图传递URI?

来自分类Dev

如何使用显式意图传递URI?

来自分类Dev

如何使用意图传递对象列表?

来自分类Dev

使用意图传递文件路径,但是如何在另一个活动中获取每个文件的路径?

来自分类Dev

当可打包对象通过意图传递时,它是否会使用对原始对象的引用进行更新?

来自分类Dev

通过通知意图发送putExtra

来自分类Dev

如何通过Android中的相机意图传递单独的参数

来自分类Dev

如何在Kotlin中通过意图传递对象的MutableList

来自分类Dev

如何在Android中通过意图传递视图

来自分类Dev

使用Parcelable通过意图放置参数传递列表

来自分类Dev

领域,通过意图将领域数据传递到另一个活动

Related 相关文章

  1. 1

    返回通过意图传递值的活动

  2. 2

    如何通过意图形式将价值从第一活动传递到第三活动?

  3. 3

    使用意图在活动之间传递数据

  4. 4

    使用意图从活动传递变量

  5. 5

    如何在Android上使用通知点击意图中的新数据重新启动当前活动

  6. 6

    通过意图将图像URL传递到新活动

  7. 7

    如何通过意图传递图像?

  8. 8

    如何通过意图传递对象

  9. 9

    如何通过意图传递图像?

  10. 10

    如何通过意图传递View对象?

  11. 11

    如何从后台服务的全屏意图通知Android打开活动

  12. 12

    如何使用SherlockListFragment意图启动新活动?

  13. 13

    如何使用SherlockListFragment意图启动新活动?

  14. 14

    从意图通知父项活动

  15. 15

    从意图通知父项活动

  16. 16

    如何将意图从活动传递给扩展LinearLayout的类

  17. 17

    使用单选按钮将活动作为意图传递

  18. 18

    如何使用通知打开活动

  19. 19

    如何使用显式意图传递URI?

  20. 20

    如何使用显式意图传递URI?

  21. 21

    如何使用意图传递对象列表?

  22. 22

    使用意图传递文件路径,但是如何在另一个活动中获取每个文件的路径?

  23. 23

    当可打包对象通过意图传递时,它是否会使用对原始对象的引用进行更新?

  24. 24

    通过通知意图发送putExtra

  25. 25

    如何通过Android中的相机意图传递单独的参数

  26. 26

    如何在Kotlin中通过意图传递对象的MutableList

  27. 27

    如何在Android中通过意图传递视图

  28. 28

    使用Parcelable通过意图放置参数传递列表

  29. 29

    领域,通过意图将领域数据传递到另一个活动

热门标签

归档