android-启动另一个应用程序的活动以获取结果 [英] android - launch an activity of another app to get it's result

查看:76
本文介绍了android-启动另一个应用程序的活动以获取结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个应用程序,A和B.

I have two applications, A and B.

从A开始,我使用以下代码启动B以获得结果:

From A, I'm launching B for a result, using the following code:

Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);

在B中,我正在执行以下操作:

From B, I'm doing the following:

getIntent().putExtra("completed", true);
setResult(RESULT_OK, getIntent());
finish();

如果我对同一个应用程序中的活动执行上述操作,则它会按预期工作.

If I do the above for an activity within the same app, it works as expected.

但是,由于它有两个不同的应用程序,因此我收到一个空的意图,其中没有数据,并且结果代码未设置.我应该如何编辑以上内容以确保始终保持一种意图?

However, since its two different apps, I receive an empty intent with no data and an unset result code. How should I edit the above to ensure that one intent is maintained throughout?

推荐答案

使用setFlags(0)清除可由getLaunchIntentForPackage创建的所有标志:

Use setFlags(0) to clean all flags which can be created by getLaunchIntentForPackage:

Intent fmIntent = getPackageManager().getLaunchIntentForPackage("com.example.B");
fmIntent.setFlags(0);
fmIntent.putExtra("hello", "world");
startActivityForResult(fmIntent, REQUEST_TEST);

这篇关于android-启动另一个应用程序的活动以获取结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆