自己动手写android手机桌面(第一篇)

2 篇文章 0 订阅
2 篇文章 0 订阅

开发自己的android桌面,有这个想法是去年一个项目(移动公司的变态项目,需要定制android机器,将一对移动业务定制到里面去)需要定制android桌面,当初的做法是直接改原版的Launcher.apk源码,然后再Linux下编译生成Launcher.apk然后刷到固件中去.实现桌面定制,让用户无法删除.

废话不多说了.我们现在要做的不是改原生的Launcher.apk,而是做个相当于普通apk能删除与安装的桌面,现在市面上有的如:91的熊猫桌面.还有其他一些在开发的就不多说了.
先什么都不说来段demo最实际,一切从最原始的兴趣驱动,有了小成就才更有动力来了解与学习launcher,需要刨根问底的同学们,自己google先.

Manager.java

Html代码
  1. package com.jaryou; 
  2.  
  3. import com.nebulalauncher.R; 
  4.  
  5. import android.app.Activity; 
  6. import android.os.Bundle; 
  7.  
  8. public class Manager extends Activity { 
  9.     /** Called when the activity is first created. */ 
  10.     @Override 
  11.     public void onCreate(Bundle savedInstanceState) { 
  12.         super.onCreate(savedInstanceState); 
  13.         setContentView(R.layout.main); 
  14.     } 

Launcher.java

Java代码
  1. package com.jaryou.launcher; 
  2.  
  3. import com.nebulalauncher.R; 
  4.  
  5. import android.app.Activity; 
  6. import android.os.Bundle; 
  7.  
  8. public class Launcher extends Activity{ 
  9.     /** Called when the activity is first created. */ 
  10.     @Override 
  11.     public void onCreate(Bundle savedInstanceState) { 
  12.         super.onCreate(savedInstanceState); 
  13.         setContentView(R.layout.launcher); 
  14.     } 

launcher.xml

Html代码
  1. <?xml version="1.0"encoding="utf-8"?> 
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     > 
  7. <TextView   
  8.     android:layout_width="fill_parent"  
  9.     android:layout_height="wrap_content"  
  10.     android:text="@string/hello" 
  11.     /> 
  12. </LinearLayout> 

main.xml

Html代码
  1. <?xml version="1.0"encoding="utf-8"?> 
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     > 
  7. <TextView   
  8.     android:layout_width="fill_parent"  
  9.     android:layout_height="wrap_content"  
  10.     android:text="@string/hello" 
  11.     /> 
  12. </LinearLayout> 
AndroidManifest.xml   (关键代码)
Html代码
  1. <?xml version="1.0"encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     package="com.nebulalauncher"android:versionCode="1" 
  4.     android:versionName="1.0"> 
  5.     <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> 
  6. <!-- 作为桌面设置的Activity --> 
  7.         <activityandroid:name=".Manager"android:label="@string/app_name"> 
  8.             <intent-filter> 
  9.                 <actionandroid:name="android.intent.action.MAIN"/> 
  10.                 <categoryandroid:name="android.intent.category.LAUNCHER"/> 
  11.             </intent-filter> 
  12.         </activity> 
  13.         <!--  作为桌面Activity --> 
  14.         <activityandroid:name="com.jaryou.launcher.Launcher"> 
  15.             <intent-filter>  
  16.                 <actionandroid:name="android.intent.action.MAIN"/>  
  17.                 <!-- 关键部分 开始--> 
  18.                 <categoryandroid:name="android.intent.category.HOME"/>  
  19.                 <categoryandroid:name="android.intent.category.DEFAULT"/> 
  20.                 <!-- 关键部分 结束-->  
  21.             </intent-filter>  
  22.         </activity>        
  23.     </application> 
  24.     <uses-permissionandroid:name="android.permission.CALL_PHONE"/> 
  25.     <uses-permissionandroid:name="android.permission.EXPAND_STATUS_BAR"/> 
  26.     <uses-permissionandroid:name="android.permission.GET_TASKS"/> 
  27.     <uses-permissionandroid:name="android.permission.READ_CONTACTS"/> 
  28.     <uses-permissionandroid:name="android.permission.SET_WALLPAPER"/> 
  29.     <uses-permissionandroid:name="android.permission.SET_WALLPAPER_HINTS"/> 
  30.     <uses-permissionandroid:name="android.permission.VIBRATE"/> 
  31.     <uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/> 
  32. </manifest> 


新建个android的项目,将上面的代码贴进去,然后运行.

ok,然后再长按  挂机键 出现桌面选择提示

1.启动器(默认launcher)

2. 你的应用名称

这时候选择你的应用,会发现桌面变成了你的刚弄的这个demo了.

如果需要变回原来的launcher.只需要要长按挂机键然后松开就能换回默认桌面.

不多说了.先去体现下吧.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值