【问题标题】:How to set Default home app programmatically如何以编程方式设置默认家庭应用程序
【发布时间】:2018-07-30 15:04:00
【问题描述】:

我想让我的 android 应用程序设置一个主页应用程序(单击主页按钮时的默认启动器应用程序)。我已经在 ma​​nifest file 中设置了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

【问题讨论】:

  • 目前只能通过清单来实现这一点

标签: android android-launcher


【解决方案1】:

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

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

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

注意:只能root设备

如果你想使用 adb 命令来做

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

【讨论】:

  • 好吧,我已经拥有了 root 访问权限。我知道如何手动执行此操作或启动 Home Setting Activity,它告诉我选择我的应用程序作为家庭应用程序。我在我的问题中写的是我想以编程方式或通过 ADB 命令执行此操作。
猜你喜欢
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多