2011-06-21 68 views
1

我試圖把一個偏好活動放在子包中。主要產品名稱是my.app.lication.android.credentials和主要包是my.app.lication.androidActivite因爲包而無法啓動?

當我把偏好活動的子包,並配置清單如下所示:

<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

是的,現在我可以開始活動了。我是這樣一個牛:包的屬性設置名稱的起點的清單中的第二行。 (package =「my.app.lication.android」) – schlingel

+0

@schlingel:是 - 所有活動名稱(和服務等)都與清單中的包裹條目有關。 – Squonk

相關問題