背景
我正在尝试在 facebook 应用程序上打开特定的个人资料页面(当然,当安装了 facebook 应用程序时)。
问题
我注意到,如果我作为最终用户转到 facebook 应用程序的应用程序信息屏幕(我可以在其中卸载应用程序,清除其缓存等...)并选择“强制停止”,然后尝试打开个人资料页面,facebook 应用程序本身要么崩溃,要么甚至无法启动。
如果 facebook 应用程序已经在运行,则代码可以正常工作。
编码
context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
final String facebookScheme = String.format("fb://profile/%s", socialNetworkUid);
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(facebookScheme));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY
| Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
return intent;
顺便说一句,该方案是从这个链接中找到的。
问题
- 为什么会发生?
- 我能以某种方式避免它吗?
- 它是 facebook 应用程序上的错误还是我没有正确实现它?
- 我现在真的需要检查 FB 应用程序是否处于活动状态,然后才允许使用此意图吗?如果是这样,如何?