【问题标题】:Switching between apps in Android在 Android 中的应用程序之间切换
【发布时间】:2013-10-20 08:16:06
【问题描述】:

我正在制作一个需要能够在用户打开的应用程序之间切换的应用程序(例如,多任务菜单中的应用程序)我有 10 个最新应用程序中的ComponentName,并且可以启动它们(即,切换到它们)像这样:

intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(info);
startActivity(intent);

但是,当我尝试更改为 Facebook(可能还有一些类似的应用程序)时,它会请求特定权限:

java.lang.SecurityException: Permission Denial: 从 ProcessRecord{42310bc0 8578:com.javanut13.multitaskheads/u0a10095} (pid=8578, uid=10095) 需要 com.facebook.permission.prod.FB_APP_COMMUNICATION

有没有办法通过实际切换到应用程序而不是启动它来解决这个问题?我可以简单地将焦点发送到其他应用吗?

【问题讨论】:

  • 尝试使用这个标志FLAG_ACTIVITY_REORDER_TO_FRONT

标签: android facebook android-intent


【解决方案1】:

除非您有权限,否则我认为您只能在“exported”属性设置为 true 时启动其他应用程序的活动。类似 Facebook 的应用可能会将此设置为 false,并且不允许其他应用访问其活动。

我没有自己测试过,但是你可以试试下面的代码:

Intent extApp= getPackageManager().getLaunchIntentForPackage(facebook-package-name);
this.startActivity(extApp);

希望这会有所帮助。

参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多