Android 将自己的Launcher设置为默认启动

自己做了个很简单的launcher,但是在设置默认launcher的时候,每次重启机器的时候,就会重新弹出选择界面选择需要的launcher。


于是就google之,发现很多文章都一样,没有解决实际问题;有的需要自己重新编译源码,那当然没有必要,因为我这个只是简单的应用程序。


具体可以看以下代码


[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. IntentFilter filter = new IntentFilter();   
  2. filter.addAction("android.intent.action.MAIN");  
  3. filter.addCategory("android.intent.category.HOME");   
  4. filter.addCategory("android.intent.category.DEFAULT");  
  5. Context context = getApplicationContext();  
  6. ComponentName component = new ComponentName(context.getPackageName(), MainActivity.class.getName());    
  7. ComponentName[] components = new ComponentName[] {new ComponentName("com.example.launcher", "com.example.launcher.Launcher"), component};    
  8. pm.clearPackagePreferredActivities("com.example.launcher");   
  9. pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component);  


以上代码存在于自己写的launcher代码onCreate方法中

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. ComponentName component = new ComponentName(context.getPackageName(), MainActivity.class.getName());   

以上是自己的launcher的package name和需要加载的Activity name。

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. ComponentName[] components = new ComponentName[] {new ComponentName("com.example.launcher", "com.example.launcher.Launcher"), component};    

其中com.example.launcher 假设为系统的launcher,我们需要用自己做的来替换它作为默认launcher。


如果系统有多个launcher,那么可以通过ResolveInfo,得到所有的launcher。

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. Intent intent=new Intent(Intent.ACTION_MAIN);  
  2. intent.addCategory(Intent.CATEGORY_HOME);  
  3. List<ResolveInfo> resolveInfoList = pm.queryIntentActivities(intent, 0);  

保留自己的launcher。

以上通过自己验证,如果有疑问或者有好的办法,都可以交流

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android设备的默认launcher设置是指系统默认启动器(Launcher)应用程序。启动器是用户在设备上看到和操作的主屏幕,它提供了桌面、应用程序列表、小部件和壁纸等功能。 在Android设备上,不同的制造商可能会有不同的默认启动设置,例如Samsung可能会有自己的启动器样式,而Google的Pixel设备则使用原生的Android启动器。 默认启动器有以下几个主要特点和功能: 1. 桌面:默认启动器会在设备主屏幕上显示桌面,用户可以在桌面上添加和管理应用程序、小部件和快捷方式等。 2. 应用程序列表:用户可以通过默认启动器访问设备上安装的所有应用程序的列表,并进行搜索和排序。 3. 小部件:默认启动器支持用户在桌面上添加各种小部件,例如天气、日历、音乐播放器等,以便用户更方便地获取相关信息。 4. 壁纸:默认启动器还允许用户更改桌面背景壁纸,可以选择自己喜欢的图片或者使用系统提供的预设壁纸。 对于用户来说,选择适合自己的默认启动器可以增加使用Android设备的个性化和便利性。用户可以根据自己的需求和偏好,选择不同功能和样式的启动器来进行设置。有些启动器还提供了更多的自定义选项,例如主题、图标包等,使用户能够将设备界面个性化到自己喜欢的样子。 总之,Android设备的默认启动设置是一个重要的用户体验方面的设置选项,通过它可以实现设备主屏幕的个性化和功能拓展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值