2017-07-14 60 views
0

爲了在活動上下文之外啓動活動,我們將使用應用程序上下文。像applicationContext.startActivity(新的意圖(TestActivity.class ....))在另一個進程中從應用程序上下文開始活動

如果調用startActivity的服務在另一個進程中,applicationatioContext是否也屬於另一個進程? Android會爲每個進程組件運行創建applicationContext嗎?

如果我們沒有指定TestActivity正在運行的進程,它是否也能夠從另一個進程啓動?

回答

0

如果要啓動從服務活動,你應該使用的PendingIntent:

Intent intent = new Intent (YourActivity.class, getContext()); 
PendingIntent pi = PendingIntent.getActivity(getContext(), 0, intent, 0); 
pi.send(); 

其中的getContext()是一個服務的上下文

0

應用程序上下文不屬於任何進程。但所有進程都屬於該應用程序。 Android應用程序上下文是Singleton,因此,您只有一個用於所有用途。

如果您從服務或其他任何不是其他活動環境的活動中使用Intent.FLAG_ACTIVITY_NEW_TASK標誌,

用法是這樣的:

Intent dialogIntent = new Intent(this, MyActivity.class); 
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(dialogIntent); 
相關問題