2014-03-19 155 views
-3

我正嘗試從服務內部啓動新的活動。我使用下面的代碼,徇:如何從Android服務啓動活動

Intent i = new Intent(m_Context, myActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
m_Context.startActivity(i); 

但是,它提供了一個android.content.ActivityNotFoundException,並說我必須將活動添加到我的清單。但問題是這是一種服務,沒有清單。有沒有辦法啓動一個活動,而不必在清單文件中輸入它?

+2

所有活動必須在你的manifest文件,AndroidManifest.xml中聲明,使用元素。 – adneal

+0

在提問前嘗試在Google上搜索。這是Android的基礎,我相信這個問題有很多答案。 – osayilgan

+0

@ adneal:問題在於這段代碼在一個將被分發的.jar文件中。所以我真正想做的是以某種方式從圖書館內開始一項活動。 (使用Android.mk和'make'編譯而不使用Eclipse) – ravindu1024

回答

2

如果您想通過jar分發代碼,則需要在應用程序中的清單中添加活動,其中將包含該jar。

啓動活動的唯一方法是將其包含在清單中。

+0

感謝您真正理解問題和回答。我會檢查這個並標記你的答案。 – ravindu1024

0

試試這個代碼,它可以幫助

Intent in=new Intent().setClass(MyAlarmService.this,Reminder.class); 
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(in); 
相關問題