2017-02-13 4 views
-2

Kürzlich baue ich ein AOSP-ROM aus der Quelle. Was ich tun wollte, ist, fügen Sie eine Anwendung von Drittanbietern in der App "Einstellungen" und es sollte nur von den Einstellungen gestartet werden und es sollte von Launcher unsichtbar sein. Hier ist, was ich getan habe, es scheitert jedes Mal. entfernt diese Linien von Anwendungen AndroidManifest.xmlHinzufügen von 3rd-Party-Anwendung in Settings.apk

android:name="android.intent.category.LAUNCHER" /> 

und unten Linien in SettingsActivity.java von Einstellungen App.

if (KA_FRAGMENT.equals(fragmentName)) { 
    Intent kaIntent = new Intent(); 
    kaIntent.setClassName("com.cyborg.manager", "com.cyborg.manager.activities.MainActivity"); 
    startActivity(kaIntent); 
    finish(); 
    return null; 
} 

Auch unter Linien in AndroidManifest.xml von Einstellungen hinzugefügt

<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> 

Obwohl, es funktioniert gut, wenn 3rd-Party-App im Launcher sichtbar ist

Antwort

0

Wenn Sie mit benutzerdefinierten ROM ich spielen möchte Ich würde empfehlen, sich zuerst mit den Android-Grundlagen vertraut zu machen.

Was Sie Aktivität auf die Launcher gezeigt macht, ist dies <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> 

vor allem diese beiden Linien:

<action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.DEFAULT" /> 

sie so entfernen und Sie sind fertig.

+0

Das habe ich zum ersten Mal gemacht, aber es hat nur funktioniert, um das App-Icon vom Launcher zu entfernen. Wann immer ich versuchte, auf den Einstellungsbildschirm von den Einstellungen zu klicken, öffnet sich die Drittanbieter-App für eine Sekunde und es erscheint ein Fehler, die App zu schließen. Ich möchte nur App in Einstellungen integrieren und es aus dem Launcher entfernen. Wenn Sie mir sagen oder auf die richtige Seite umleiten können, wird es hilfreich sein. –