2012-04-24 25 views
5

同じアプリケーション内でアクティビティを起動する暗黙のインテントを使用しようとしていますが、他のアプリケーションのアクティビティ(ネイティブアプリケーションではなく他のアプリケーション)を起動しようとしています。ケース。暗黙のインテントが呼び出されていません

Intent intent = new Intent(); 
intent.setAction("com.myapp.game.myimplicit_action"); 
startActivity(intent); 

TESTActivity

内部活動と、ここでいくつかのための私のマニフェストファイルの宣言である:ここで

(すなわち、同じアプリケーション内のアクティビティを起動するために)最初の部分のための私のサンプルコードです活動は、同じアクションを持つ 'ImplicitActivity' と言う:

<activity 
    android:name=".TESTActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity android:name=".ImplicitActivity"> 
    <intent-filter> 
    <action android:name="com.myapp.test.myimplicit_action" /> 
    </intent-filter> 
</activity> 

両方の活動をTESTActivityImplicitActivityは同じパッケージの同じアプリケーション内にあります。まだ私のImplicitActivityアクティビティが呼び出されていません。

答えて

12

問題を把握しました。同じ問題に直面している他の人のための答えを掲示する。

暗黙のインテントを使用するには、のデフォルトカテゴリを追加する必要があります。したがって、同じアクティビティの正しいマニフェストエントリは次のとおりです。

<activity 
    android:name=".TESTActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity android:name=".ImplicitActivity"> 
    <intent-filter> 
    <action android:name="com.myapp.test.myimplicit_action" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 
関連する問題