2011-06-21 8 views
1

サブパッケージにプリファレンスアクティビティを入れようとしました。メインのパッケージ名はmy.app.lication.android.credentialsであると私はサブパッケージに優先活動を入れて、そうのようなマニフェストを設定するときメインパッケージはパッケージが原因でアクティベーションが開始できませんか?

my.app.lication.androidです:

<activity 
    android:name="MyCredentials" 
    android:label="@string/app_name"> 
    <intent-filter>   
     <action android:name="my.app.lication.android.credentials.MyCredentials" /> 
     <category android:name="my.app.lication.android.credentials.MyCredentials" /> 
    </intent-filter> 
</activity> 

開始が失敗し、ActivityNotFoundExceptionが発生します。 MyCredentialsクラスをメインパッケージに配置し、マニフェストを次のように設定した場合:

<activity 
    android:name="MyCredentials" 
    android:label="@string/app_name"> 
    <intent-filter>   
     <action android:name="my.app.lication.android.MyCredentials" /> 
     <category android:name="my.app.lication.android.MyCredentials" /> 
    </intent-filter> 
</activity> 

これが機能します。 SDKがこのように動作する理由を誰かが説明できますか?

答えて

0

最初のマニフェストの例でandroid:name=".credentials.MyCredentials"を試してみてください。

+0

はい、今アクティビティを開始できます。私はそのような塊である:マニフェストの2行目で、package属性は名前の開始点を設定する。 (パッケージ= "my.app.lication.android") – schlingel

+0

@schlingel:はい - すべてのアクティビティ名(およびサービスなど)は、マニフェスト内のそのパッケージエントリを基準にしています。 – Squonk

関連する問題