首页 > 解决方案 > 如何以编程方式设置默认家庭应用程序

问题描述

我想让我的 android 应用程序设置一个主页应用程序(单击主页按钮时的默认启动器应用程序)。我已经设置了intent-filter清单文件

           <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>

但是在启动应用程序后,如果我单击后退按钮,屏幕上会出现一个窗口,并要求确认此活动为家。可以通过 adb 命令以编程方式或设置吗?

在 logcat 中,当我通过选择我的应用程序作为主页完成时,我看到了如下操作:

07-30 16:56:16.809 1289-2215/? I/PackageManager: Replacing preferred activity com.myapp.hp/.MainActivity for user 0:
07-30 16:56:16.809 1289-2215/? I/PackageManager:   Action: "android.intent.action.MAIN"
07-30 16:56:16.809 1289-2215/? I/PackageManager:   Category: "android.intent.category.HOME"
07-30 16:56:16.809 1289-2215/? I/PackageManager:   Category: "android.intent.category.DEFAULT"
07-30 16:56:16.809 1289-2215/? I/PackageManager:   AutoVerify=false

标签: androidandroid-launcher

解决方案


第 1 步: 您需要拥有设备的 root 访问权限才能卸载默认启动器

第 2 步: 卸载默认启动器 adb uninstall app.package

然后转到您想要的主屏幕应用程序。然后转到设置并将其设置为默认值

注意:可能只有root设备

如果你想使用 adb 命令

首先你需要删除默认启动器然后你需要将你的launchera.apk移动到系统应用程序中......进入系统->媒体->默认->你需要将你的apk放在这里......可能路径会有所不同并且每个固件


推荐阅读