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



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

下面我们就新建一个叫做SAOLauncher的工程,具体步骤略。创建完工程后整个目录结构如下图:


现在我们的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" />            </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会调出桌面应用),程序如图:

我们看到了,我们开发的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版,本文红色部分为小夜修改部分,查看原文请点击以上链接

更多相关文章

  1. Android开发实例详解之IMF(Android(安卓)SDK Sample—SoftKeyboar
  2. Android直播开发之旅(8):Android硬编解码接口MediaCodec原理剖析
  3. 使用Android(安卓)studio开发Android(安卓)App
  4. kotlin Android(安卓)之初见
  5. Android音乐编程:管理音频焦点
  6. 学习:Android框架
  7. 分析Content Providers用法【转】
  8. 从零开始学android开发-布局中 layout_gravity、gravity、orient
  9. Ubuntu下进行Android开发的相关配置

随机推荐

  1. 远程办公,也许并没有你想象的那么轻松
  2. 红帽认证RHCE顺利通过,学习笔记多图预警!
  3. 阿里P7岗位面试,面试官问我:为什么HashMap
  4. vue2的$refs在vue3组合式API中的替代方法
  5. 悟透前端:javascript数组之includes、redu
  6. 因为我的一个低级错误,生产数据库崩溃了将
  7. 当面试官问我ArrayList和LinkedList哪个
  8. 图文并茂,带你深入了解AQS的源码
  9. 缓存穿透、击穿、雪崩什么的傻傻分不清楚
  10. 毕业三年了,我开始明白为什么说三年是一个