Wie man einen Launcher macht


71

Ich habe mich schon eine ganze Weile entwickelt und versuche jetzt, eine App zu entwickeln, die das ursprüngliche Zuhause ersetzt (z. B. HTC Sense).

Ich muss die App öffnen, wenn der Benutzer die Home-Taste auf seinem Telefon drückt.

Im Grunde ist es also ein Ersatz für zu Hause.

Weiß jemand, wie man das macht?


Sie können den Quellcode des Launcher und des in Android verwendeten Launcher2- Projekts auschecken.
Octavian A. Damiean

Hier ist der Quellcode von Launcher3(dem AOSP-Launcher), der in KitKat (und wahrscheinlich auch in Lollipop) verwendet wird: android.googlesource.com/platform/packages/apps/Launcher3/+/… Wenn Sie einen neuen Launcher von AOSP sehen, ersetzen Sie ihn einfach 3im URL mit der neueren Version.
Sazid

Antworten:


96

Entwickeln Sie einfach eine normale App und fügen Sie der Manifestdatei der App einige Zeilen hinzu.

Zuerst müssen Sie Ihrer Aktivität das folgende Attribut hinzufügen:

            android:launchMode="singleTask"

Fügen Sie dann dem Absichtsfilter zwei Kategorien hinzu:

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

Das Ergebnis könnte ungefähr so ​​aussehen:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.dummy.app"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk
            android:minSdkVersion="11"
            android:targetSdkVersion="19" />

        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.dummy.app.MainActivity"
                android:launchMode="singleTask"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.HOME" />
                </intent-filter>
            </activity>
        </application>

    </manifest>

So einfach ist das!


Wie funktioniert der Lebenszyklus seiner Aktivität? Läuft es nur auf unbestimmte Zeit?
John Sardinha

15

Dies sind Beispiele, die vom Android-Team bereitgestellt wurden. Wenn Sie bereits Beispiele geladen haben, können Sie das Beispiel für den Ersatz des Startbildschirms importieren, indem Sie die folgenden Schritte ausführen.

Datei> Neu> Andere> Android> Android-Beispielprojekt> Android xx> Start> Fertig stellen

Wenn Sie jedoch keine Beispiele geladen haben, laden Sie sie mit den folgenden Schritten herunter

Windows> Android SDK Manager> wählt "Beispiel für SDK" für das SDK, das Sie benötigen> Paket installieren> Lizenz akzeptieren> Installieren

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.