最近我正在从源代码构建AOSP ROM。我想要做的是,将第三方应用程序添加到“设置”应用程序中,它应该仅从“设置”启动,并且应该从Launcher中不可见。 这就是我所做的,它每次都失败了。 从AndroidManifest.xml应用程序中删除了这些行
android:name="android.intent.category.LAUNCHER" />
并在Settings app中的SettingsActivity.java中添加以下行。
if (KA_FRAGMENT.equals(fragmentName)) {
Intent kaIntent = new Intent();
kaIntent.setClassName("com.cyborg.manager", "com.cyborg.manager.activities.MainActivity");
startActivity(kaIntent);
finish();
return null;
}
还在设置
的AndroidManifest.xml中添加了以下行<activity android:name="Settings$KActivity"
android:label="@string/hit_perform"
android:icon="@drawable/hit_performance_icon"
android:taskAffinity="" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<intent-filter android:priority="1">
<action android:name="com.android.settings.action.SETTINGS" />
</intent-filter>
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.urom" />
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.ka" />
</activity>
虽然,当第三方应用程序在启动器中可见时,它可以正常工作
答案 0 :(得分:0)
如果您想使用自定义ROM,我建议您首先熟悉Android基础知识。
启动器显示的活动是<intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
特别是这两行:
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
所以删除它们就完成了。