android 自定义应用(普通应用)作为launcher应用

这篇博客介绍了如何在Android系统中通过设置系统属性`thirdparty.launcher.packagename`和`thirdparty.launcher.classname`来动态将任意应用设为启动器应用。文章包含相关方法如`isPkgInstalled`、`isDefaultLauncher`和`setDefaultLauncher`的代码实现,这些方法用于检查应用是否已安装、是否为默认启动器以及如何设置默认启动器。
摘要由CSDN通过智能技术生成
在frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java中

第一步:
在startHomeActivityLocked方法的开始出加入如下代码:
  1. String packageName = SystemProperties.get("thirdparty.launcher.packagename","com.android.launcher");
  2. String className = SystemProperties.get("thirdparty.launcher.classname","com.android.launcher2.Launcher");
  3. if(isPkgInstalled(mContext, packageName) && !isDefaultLauncher(mContext, packageName))
  4. setDefaultLauncher(packageName, className);
第二步:
在frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java这个类中加入如下方法:
[java]  view plain   copy
  1. public  boolean isPkgInstalled(Context context, String packageName) {  
  2.     if (packageName == null || "".equals(packageName))  
  3.          return false;  
  4.        
  5.      android.content.pm.ApplicationInfo info = null;  
  6.      try {  
  7.          info = context.getPackageManager().getApplicationInfo(packageName, 0);  
  8.          return info != null;  
  9.      } catch (NameNotFoundException e) {  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值