Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何传递意图但不立即启动活动_Android_Android Intent_Android Activity - Fatal编程技术网

Android 如何传递意图但不立即启动活动

Android 如何传递意图但不立即启动活动,android,android-intent,android-activity,Android,Android Intent,Android Activity,我需要知道是否有一种方法可以在Android中通过字符串信息将意图从活动a传递到另一个应用程序中的其他活动B。事实上,我不希望B立即启动,相反,当我稍后单击菜单中的启动程序图标启动它时,它应该会实现目的并更新UI。如果可能的话,我是如何做到这一点的。如果您通过startActivity发送意图,它将启动活动。如果您只是想保留信息以备将来发布: 适当的方法是使用SharedReference 在活动A中时,将数据保存到SharedReferences中 再次启动应用程序时,检查首选项是否有数据,

我需要知道是否有一种方法可以在Android中通过字符串信息将意图从活动a传递到另一个应用程序中的其他活动B。事实上,我不希望B立即启动,相反,当我稍后单击菜单中的启动程序图标启动它时,它应该会实现目的并更新UI。如果可能的话,我是如何做到这一点的。

如果您通过startActivity发送意图,它将启动活动。如果您只是想保留信息以备将来发布:

适当的方法是使用SharedReference

  • 在活动A中时,将数据保存到SharedReferences中
  • 再次启动应用程序时,检查首选项是否有数据,如果有数据,只需获取数据并启动活动B或采取您喜欢的操作
为活动B中的意图创建一个静态工厂方法,简单地说,无论是谁调用,活动B都将具有相应的意图

//ActivityB
public static Intent newIntent(Contex context){
    Intent intent = new Intent(contenxt, ActivityB.class); 

    // fill the intent from the shared preferences if there is any

    return intent;
}

我尝试使用PendingEvent,但它立即启动了应用程序B…您想如何启动活动B?一些回调函数?计时器?那么为什么不在开始活动B之前创建意图呢?B不是从活动A开始的?B不是从A开始的。我需要在A中创建意图。我如何确保当我启动B时,B看到我在A中创建的意图?事实上,我希望应用程序A为应用程序B创建意图,但只有当我决定启动应用程序B时,也就是说,我手动想要启动应用程序B,应用程序B才能恢复到意图。我不想从应用程序A启动应用程序B,我只想应用程序A提供数据,然后意向,你们会建议我怎么做?也许如果我以某种方式使用待定意向,它会工作吗?我想知道如果有可能的话,你可以在为活动创建意图的同时填写意图B,我更新了我的答案。