当前位置: 首页 > 知识库问答 >
问题:

广播接收器意图不接收额外的

梁嘉澍
2023-03-14

我有一个很奇怪的问题。

我正在发送广播并设置一些额外内容,但接收者没有收到:

发送:

private void notifyAboutDownload(String reference, Context ctx) {
    Intent i = new Intent(InitialActivity.ACTION_PACKAGE);
    i.setAction(InitialActivity.ACTION_DOWNLOAD_COMPLEATED);
    i.putExtra(InitialActivity.DOWNLOAD_ID, reference);

    ctx.sendBroadcast(i);

}

并收到:

public void onReceive(Context context, Intent intent) {

        String downloadID =   intent.getExtras().getString(InitialActivity.DOWNLOAD_ID);

        Log.i(TAG, "downloadID :  "+ downloadID);
    }
};

由于某些原因,downloadID为空。有什么提示吗?

谢谢

共有1个答案

长孙知
2023-03-14

试着这样设定你的意图

Intent i = new Intent(getApplicationContext(), MyReceiver.class);
 类似资料:
  • 通知广播接收机: 谁能帮帮我吗?我不知道我做错了什么

  • 问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你

  • 问题内容: 我正在尝试开发一个可检测用户何时拍照的应用程序。我设置了广播接收器类,并通过以下方式将其注册到清单文件中: 无论我做什么,该程序都不会收到广播。这是我的接收器类: 如果删除清单和活动中的mimeType行,则使用以下命令发送自己的广播 然后我成功接收到广播,可以看到日志和吐司窗口​​。我是否采用正确的方法?有什么需要补充的吗? 问题答案: 我解决了这个问题,但是使用了另一种方法。我没有

  • 4.2.1.3 内部广播接收器 内部广播接收器是广播接收器,它将永远不会收到从内部应用以外发送的任何广播。 它由几个内部应用组成,用于保护内部应用处理的信息或功能。 要点(接收广播): 定义内部签名权限来接收广播。 声明使用内部签名权限来接收结果。 将导出属性显式设置为true。 需要静态广播接收器定义的内部签名权限。 需要内部签名来注册动态广播接收器。 确认内部签名权限是由内部应用定义的。 尽管

  • 4.2.1.2 公共广播接收器 公共广播接收器是可以从未指定的大量应用程序接收广播的广播接收器,因此有必要注意,它可能从恶意软件接收广播。 要点(接收广播): 将导出属性显式设为true。 小心并安全地处理收到的意图。 返回结果时,不要包含敏感信息。 公共广播接收器的示例代码可以用于静态和动态广播接收器。 PublicReceiver.java package org.jssec.android.