android手把手教你开发launcher(一)(AndroidStudio版)

auncher,也就是android的桌面应用程序。下图是android2.3的launcher应用程序:

   

接下来我们要开发一个自己的launcher,使其替代系统的默认launcher。
怎样使我们的应用程序成为一个launcher?

下面我们就新建一个叫做SAOLauncher的工程,具体步骤略。创建完工程后整个目录结构如下图:
   android手把手教你开发launcher(一)(AndroidStudio版)_第1张图片

现在我们的AndroidManifest.xml文件这样的:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sljjyy.sao.launcher"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="16" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.sljjyy.sao.launcher.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
请注意<intent-filter>

</intent-filter>里面的内容。
下面我们在其中添加上以下两行:

<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
此时AndroidManifest.xml文件是这样:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sljjyy.sao.launcher"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.sljjyy.sao.launcher.MainActivity"
            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.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>

此时运行程序,我们看不到任何特别之处。当按下home键时(模拟器上按下home会调出桌面应用),程序如图:  

android手把手教你开发launcher(一)(AndroidStudio版)_第2张图片
我们看到了,我们开发的SAO Launcher跟Xperia主页(索尼的home)出现在了一起。 
重启,我们看到我们自己的程序已经可以作为home来运行了。
ok。 第一步完成了:把我们的应用程序作为home。
总结一下:要把我们的应用程序作为home,只需要在AndroidManifest.xml中添加:
 <category android:name="android.intent.category.HOME" />

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

android手把手教你开发launcher(一)(AndroidStudio版)

android手把手教你开发launcher(二)——列出安装的应用程序

android手把手教你开发launcher(三)——启动安装的应用程序

android手把手教你开发launcher(四)——显示widget

android手把手教你开发launcher(五)——设置壁纸

转自:http://www.bangchui.org/read.php?tid=11694

原本为Eclipse版,本文红色部分为小夜修改部分,查看原文请点击以上链接



   

你可能感兴趣的:(android手把手教你开发launcher(一)(AndroidStudio版))