2011-12-16 9 views
2

放送受信機から別のアプリケーションの開始:私は、デバイスのブート後にReceiverから活動を開始しようとしています

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); 

私は私の活動からそれを呼び出したときにこのコードは正常に動作しますが、しかし、それはときに私BroadcastReceiverの実行に失敗しますそれは起動後です。私のログカードは、次の通りです:

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

すべてのポインタをいただければ幸いです。前もって感謝します。

+0

解決方法がありますか?同じ問題は私が直面している.. – PankajAndroid

+0

@ PankajAndroid; @ RagunathJawahar:あなたが持っている場合Pls共有ソリューション。 – Basher51

答えて

0

マニフェストでアクティビティを宣言したときに、綴りが間違っている可能性があります。あなたがそれをそこに入れて、すべてを正しく綴っていることを確認してください。

+0

私は、別のアプリケーションからアクティビティを開始しようとしています。これは、アプリケーションのアクティビティ内のイベントリスナから関数を呼び出すときに機能します。それは呼び出されているのと同じ方法です。 –

0

問題は次のLine.whatにありますか?ActivityNameですか?またパッケージ名を確認してください。

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

私が言及したと思う - 「コードは私の活動から呼び出すときにうまくいく」 –

1

テント意図=新しいテント(文脈、activity.class)。 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent);

私はこの3行だけが必要であり、コンテキストはブロードキャスト受信機で受信するコンテキストになると思います。

+0

私は別のアプリケーションを起動しようとしています。 –

関連する問題