2013-10-20 28 views
0

應用程序之間進行切換我提出,需要能夠使用戶打開(例如,在多任務菜單中的應用程序)的應用程序之間切換,我已經拿到了最近10個應用程序的ComponentName一個應用程序,並可以發動他們(即,切換到它們)是這樣的:Android中

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

然而,當我嘗試改變Facebook的(也可能是一些類似的應用程序),它要求一個特定的權限:

的java.lang。拋出:SecurityException:權限拒絕:開始從ProcessRecord意圖{FLG = 0x10000000的CMP = com.facebook.katana/.activity.FbFragmentChromeActivity} {42310bc0 8578:com.jav anut13.multitaskheads/u0a10095}(PID = 8578,UID = 10095)需要com.facebook.permission.prod.FB_APP_COMMUNICATION

是否存在被實際切換到應用程序,而不是啓動它解決的辦法?我可以只將焦點發送到不同的應用程序嗎?

+0

嘗試使用此標誌'FLAG_ACTIVITY_REORDER_TO_FRONT' – ramaral

回答

0

除非你有一個權限,我認爲當它的「出口」屬性設置爲true你只能啓動其他應用程序的活動。類似Facebook的應用程序可以設置爲false,並且不允許其他應用程序的,將活動的訪問。

我沒有獨自測試,但你可以試試下面的代碼:

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

希望這有助於。

參考: