0
我想組織我的應用程序到包,因爲它將有幾個全面的列表菜單。我試圖填充菜單的方式是通過查找每個包中的活動。NameNotFound異常時調用PackageManager.getPackageInfo
該問題可能是與清單:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="machinists.toolkit"
android:versionCode="1"
android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:debuggable="true">
<activity
android:label="@string/app_name"
android:name=".MTEActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ExceptionActivity"></activity>
<activity android:name=".activities.ReferenceActivity"></activity>
<activity android:name=".activities.CalculatorActivity"></activity>
<activity android:name=".activities.reference.FormulasActivity"></activity>
<activity android:name=".activities.reference.MaterialsActivity"></activity>
</application>
和所討論的片段是:
try {
this.activities = this.packageManager.getPackageInfo(this.packageName, PackageManager.GET_ACTIVITIES).activities;
} catch (NameNotFoundException e) {...
在這種情況下this.packageName解決到machinist.toolkit.activities .reference
getPackageInfo方法調用全名如果我瞭解,那應該是正確的。
任何想法是什麼錯?
謝謝。
好的。我覺得是這樣的。謝謝。 –
因此,如果我將包中的所有活動放到ActivityInfo []數組中,我應該只是解析數組以獲取我想要的信息,還是有更好的方法來分離視圖? –
@ daedalus0x1a4:Android沒有真正的子包的概念,所以你只需要迭代結果並過濾掉你想要的結果。 – CommonsWare