gpt4 book ai didi

android - 如何关闭或停止我在 Android 中启动的外部应用程序

转载 作者:行者123 更新时间:2023-11-29 02:03:16 24 4
gpt4 key购买 nike

<分区>

我有一个应用程序需要显示一些 PDF 文件。这些文件位于设备本地,并且该设备用于无法访问 Web 的高安全性位置。

在 Android 获得一些 native 功能或库来显示 PDF 文件之前,我依赖于 Adob​​eReader.apk,因此我将其启动:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(dgfile), "application/pdf");
i.setClassName("com.adobe.reader", "com.adobe.reader.AdobeReader");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
// ctx is a passed-in Context of my main Activity
try {
ctx.startActivity(i);
}
catch (ActivityNotFoundException e) { // incase no viewer installed
Log.e("DG_External", "No viewer found!");
}

这非常有效,但在我完成显示后我想停止它并返回到我的主应用程序。 this S.O question 上的“获胜”答案说如果我使用 StartActivityForresult() 我可以用 finishActivity() 但我无法让它工作(我不明白它是如何工作的因为没有我们要停止的 Activity 实例)

不过,我将 StartActivity 更改为:

((Activity)ctx).startActivityForResult(i, 33);  //!!  // 33 = arbitrary r.c.

这很好地调用了 Adob​​e 阅读器,但是做...

((Activity)ctx).finishActivity(33);

...没有产生任何结果。我尝试将它包装在 try/catch 中并且没有抛出任何异常。

我做错了什么,我该如何做对?提前致谢!

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com