Android 向活动广播URI

Android 向活动广播URI,android,broadcastreceiver,uri,Android,Broadcastreceiver,Uri,我试图将URI从广播接收器发送到活动,但意图从未到达新活动 public void onReceive(Context context, Intent intent) { String i = intent.getDataString(); uri = Uri.parse(i); Intent o = new Intent(context,Image.class); o.putExtra("ImageUri", uri); context.sendBroa

我试图将URI从
广播接收器
发送到
活动
,但意图从未到达新活动

public void onReceive(Context context, Intent intent) {
    String i = intent.getDataString();
    uri = Uri.parse(i);
    Intent o = new Intent(context,Image.class);
    o.putExtra("ImageUri", uri);
    context.sendBroadcast(o);

您不能使用
Context
上的
sendBroadcast()
与活动直接通信。

您需要处理如何接收广播。你不能只发送它而不声明你收到的地方it@user3856158:您可以使用
startActivity()
FLAG\u activity\u REORDER\u TO\u FRONT
启动活动,以重用已存在的实例。您的活动将在
onCreate()
(如果活动不存在,则通过
getIntent()
)或
onNewIntent()
(如果活动已经存在,则作为传入参数)中提取额外的内容。还有多种其他可能性,特别是如果活动可能不存在(例如,如果活动存在,则将数据传递给活动,否则显示
通知
)。广播接收器中的startActivity?如果这是你的意思,它会给我一个错误,它是未定义的,因为我正在扩展broadcastReceiver,为了启动触觉,你需要一个实际的activity@user3856158:
startActivity()
Context
上的一种方法。在
onReceive()
中向您传递了一个
Context
。标记\u活动\u重新排序\u到\u前端这会给我一个错误,编译器建议标记\u活动\u新建_TASK@user3856158:
FLAG\u ACTIVITY\u REORDER\u TO\u FRONT
Intent
类上的一个值: