可以从我的APP A打开App B.就像来自Adobe Systems的PDF阅读器中的应用程序的PDF。
但是我需要尽快从PDF阅读器回来用户保存PDF或完成他对PDF的工作(编辑,评论等)。
如果我对APP B没有任何控制权,这是可能的吗?
答案 0 :(得分:0)
我不知道是否存在某种直接方法,但如果没有,则可以遵循此方法:
请参阅我的回答:Android how to know an app has been started and range apps priority according the starting times
因此,您需要知道要启动的应用程序的包名称,以便查看PDF(或任何相应的应用程序),您显然知道这是因为您通过意图我想。
在启动 app B 之前,启动 Asynctask()或任何后台线程,检查应用B是否存在于前台,在我的问题中使用我的答案。当您关闭应用B时(当您的工作完成时),它将不再存在于前景中,因此请检查前景中是否存在 app A ,使用相同的方法。
如果确实如此,那就好了。否则,使用 intent 启动 app A ,以便实现所需内容的功能。
答案 1 :(得分:0)
将控件从另一个应用程序恢复到您的应用程序是可行的。
您需要使用startActivityForResult来启动其他应用 并覆盖将返回控件的onActivityResult方法。
例如,您正在打开默认相机应用。你没有任何控制权。 使用startActivityForResult
启动该应用final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile("URI"));
startActivityForResult(intent,Reqcode);
关闭应用程序后,控件将返回以下方法。参数中的结果代码将告诉您用户操作是否成功。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//your code here
}