【发布时间】:2019-05-20 16:19:14
【问题描述】:
我有两个自己的应用程序,应用程序 A 和应用程序 B。 App A的一个activity,通过传递一个String打开App 2。
代码 App1:
Intent launchIntent = getMainActivity().getPackageManager().getLaunchIntentForPackage("com.example.app2");
if (launchIntent != null)
{
launchIntent.setAction(Intent.ACTION_SEND);
launchIntent.putExtra("stringApp1ToApp2", "myString");
launchIntent.setType("text/plain");
startActivity(launchIntent);
}
代码 App2:
Bundle parameters = this.getIntent().getExtras();
if(parameters != null)
{
String b = parameters.getString("stringApp1ToApp2", "stringDefault");
}
工作正常。
我的问题是当我想将字符串从 App2 发送到 App1 时。 在应用程序 2 中有一个按钮,当您单击该按钮时,您必须关闭应用程序 (finish ()) 并向应用程序 1 发送一个字符串。但不要从头打开 App1..
有什么想法吗?
提前谢谢你。
【问题讨论】:
-
我不会为你提供完整的解决方案,但你要找的是广播接收器:developer.android.com/reference/android/content/… 基本上:1.你在 App1 广播接收器中注册 Intentfilter。 2. 在 App2 中,您使用要发送的字符串创建意图,您使用 context.sendBroadcast() 方法将此广播发送到您的 App1。
标签: android