2016-07-08 19 views
1

私は単に別のアプリの中から自分のアプリを起動しようとしています。私はこのコードを持っている:私のアプリのAndroidから別のアプリを起動する

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName("com.my.app","com.my.app.Main")); 
startActivity(intent); 

をしかし、それは私に、このエラー与え続け:

Unable to find explicit activity class {com.my.app/com.my.app.Main}; have you declared this activity in your AndroidManifest.xml? 

それが参照しているマニフェストを?私が起動しようとしている2番目のアプリ、またはそれを起動しようとしているアプリですか?また、私は正確に何を宣言するのですか?

詳細が必要な場合は、私にお知らせください。それはおそらく単純なものですが、私はSOに関するすべての関連する質問/回答を見てきましたが、私のために働いた解決策はありませんでした。

ありがとうございます!

答えて

0

これはアプリケーション内で別のアクティビティを起動しようとしています。マニフェストはAndroidManifest.xmlです。あなたはそこにあなたのアプリケーション内の任意のアクティビティを宣言する必要がありますので、OSはそれらについて知っています。あなたのアプリケーションにないアクティビティを起動しようとしている場合は、代わりにインテントアクションを使用する必要があります。

+0

を役に立てば幸い

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address"); if (launchIntent != null) { startActivity(launchIntent);//null pointer check in case package name was not found } 

OKああ、私は私が起動しようとしている第二のアプリのマニフェストにインテントフィルタを追加する必要がありますか? – user3689720

+0

そのアプリを支配している場合は、はい。 – CaseyB

0

これを使用すると、パッケージ名を使用してアプリケーションを起動できます。私はこれがあなた

関連する問題