【问题标题】:Android: Go back to previous AppAndroid:返回上一个应用程序
【发布时间】:2014-01-28 09:55:26
【问题描述】:

可以从我的应用程序 A 打开应用程序 B。就像我的应用程序中的 PDF 在 Adob​​e Systems 的 PDF 阅读器中打开一样。

但我需要在用户保存 PDF 或在 PDF 上完成他的工作(编辑、评论等)后尽快从 PDF 阅读器回来。

如果我对 APP B 没有任何控制权,这可能吗?

【问题讨论】:

    标签: android pdf android-intent


    【解决方案1】:

    可以将控制权从另一个应用程序恢复到您的应用程序。

    您需要使用 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
    }
    

    【讨论】:

      【解决方案2】:

      不知道有没有直接的方法,如果没有,可以按照这个方法:

      在这里参考我的回答:Android how to know an app has been started and range apps priority according the starting times

      因此,您需要知道要启动的应用程序的 包名称 才能查看 PDF(或任何应用程序),您显然会知道,因为您是通过我想是有意图的。

      就在启动 app B 之前,启动 Asynctask() 或任何后台线程,您可以在其中检查 app B 是否存在于前台,在那个问题中使用我的答案。当您关闭应用 B(当您的工作完成时),它将不再存在于前台,因此请使用相同的方法检查 应用 A 是否存在于前台。

      如果是这样,那就太好了。否则,使用 intent 来启动 app A,以便实现您想要的功能

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多