如何制作启动器


71

我已经开发了很长一段时间,现在我正在尝试制作一个可以替代原始房屋的应用程序(例如HTC)。

当用户点击手机上的主页按钮时,我需要打开应用程序。

因此,基本上,这是一个家庭替代品。

有人知道该怎么做吗?


您可以签出Android中使用的LauncherLauncher2项目的源代码。
2011年

这是Launcher3KitKat(可能还有棒棒糖)中使用的(AOSP启动器)的源代码:android.googlesource.com/platform/packages/apps/Launcher3 / + / ...如果您看到AOSP中的任何新启动器,只需将其替换3为具有较新版本的url。
Sazid

Answers:


96

只需开发一个普通的应用程序,然后在该应用程序的清单文件中添加几行即可。

首先,您需要向活动添加以下属性:

            android:launchMode="singleTask"

然后向意图过滤器添加两个类别:

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

结果可能如下所示:

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

就这么简单!


其活动的生命周期如何工作?它会无限期地运行吗?
John Sardinha

15

它们是Android团队提供的示例,如果您已经加载了示例,则可以按照以下步骤导入主屏幕替换示例

文件>新建>其他> Android> Android示例项目> Android xx>主页>完成

但是,如果您没有加载示例,请按照以下步骤下载

Windows> Android SDK Manager>为您的SDK选择“ SDK样本”>安装软件包>接受许可>安装

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.