有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android库中的java本地通知

我之所以在这里写作,是因为我面临着一个即使经过多次研究和尝试也无法解决的问题

我目前正在开发一个Android库,它只包含java类和片段。问题是,我需要向用户发送本地通知,单击通知应该会将用户发送回他所在的活动。此时,我的库可以发送通知。但是点击通知没有任何作用

在我的notification Receiver类(它扩展了BroadcastReceiver类)中,当通知出现时,我创建了一个挂起的意图,但我不知道我可以提供什么作为参数来将用户发送到活动。我试着使用意图过滤器,但没有结果

那么如何让通知将用户发送回应用程序如果我能够让通知将用户发送回创建通知的活动(但它是一个片段,所以…),那将是最好的选择

在通常的应用程序中,我希望将用户发送回活动类,但我的库只需要片段

也许没有问题,解决方法也很简单,因为我对通知还不熟悉

如果这里有人有主意,谢谢你帮我!:D

如果我的问题不清楚(比如我的英语不好),请毫不犹豫地让我补充信息^^

**从4月29日开始编辑:** 我通过以下方式将我的类的规范名称提供给我的广播,从而实现了这一目标:

mContext.getClass().getCanonicalName();

在我的广播接收器类中,我只从发送类的名称中获取类:

Class<?> activityClass = null;
    try {
       activityClass = Class.forName(stringSourceClass);
    } catch (ClassNotFoundException e) {
       e.printStackTrace();
   }

共 (2) 个答案

  1. # 1 楼答案

    查看Building a notification页面:

    Intent resultIntent = new Intent(this, ResultActivity.class);
    ...
    // Because clicking the notification opens a new ("special") activity, there's
    // no need to create an artificial back stack.
    PendingIntent resultPendingIntent =
        PendingIntent.getActivity(
        this,
        0,
        resultIntent,
        PendingIntent.FLAG_UPDATE_CURRENT
    );
    

    只需将你的活动放入Resultent即可

  2. # 2 楼答案

    how can I have the notification sending back the user to the application ?

    这很简单:
    1.在为挂起的意图创建意图时,调用addAction(“action_name”)方法
    2.在活动中,您希望调用(在清单文件中)意图过滤器标记add<action android:name="action_name>. 现在,当您的通知尝试启动活动时,它将向系统发送意图消息,系统将使用适当的操作搜索活动并启动它
    P.S.每个应用程序的操作名称必须是唯一的