2011-12-16 55 views
2

我試圖在設備啓動後,開始從一個接收器的活性的另一種應用:起價廣播接收器

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName")); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
context.startActivity(intent); 

此代碼只是正常工作時,我把它從我的活動但是它沒有我的廣播接收器執行時它在啓動後。我的Logcat顯示:

ActivityNotFoundException: Have you declared the activity in your AndroidManifest.xml? 

任何指針將不勝感激。提前致謝。

+0

你能解決嗎?同樣的問題,我正面臨着.. – PankajAndroid 2013-09-03 10:22:39

+0

@PankajAndroid; @RagunathJawahar:請分享解決方案,如果你有。 – Basher51 2014-07-01 16:08:42

回答

0

當您在清單中聲明您的活動時,您可能拼寫或發生錯誤。確保你把它放在那裏,並正確拼寫一切

+0

我試圖從另一個應用程序開始一個活動,它在我的應用程序活動中從一個事件監聽器調用該函數時起作用。這與被調用的方法相同。 – 2011-12-16 16:32:45

0

我認爲問題是在下面的行。什麼是你的活動的名稱?它是「活動名」?還檢查包名。

intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName")) 
+0

想想我提到 - '我的代碼從我的活動中調用'時代碼正常工作' – 2011-12-16 16:33:37

1

意圖意圖=新意圖(上下文,activity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent);

我認爲這3行只需要,上下文將是在廣播接收器中接收的上下文。