android - 如何以编程方式设置默认家庭应用程序
问题描述
我想让我的 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
解决方案
第 1 步: 您需要拥有设备的 root 访问权限才能卸载默认启动器
第 2 步: 卸载默认启动器 adb uninstall app.package
然后转到您想要的主屏幕应用程序。然后转到设置并将其设置为默认值
注意:可能只有root设备
如果你想使用 adb 命令
首先你需要删除默认启动器然后你需要将你的launchera.apk移动到系统应用程序中......进入系统->媒体->默认->你需要将你的apk放在这里......可能路径会有所不同并且每个固件
推荐阅读
- jenkins - 尽管凭据正确,Jenkins 在复制 repo 时失败
- javascript - 我是否应该在 Firebase 云功能中等待 Firestore 设置调用
- sql-server - SQL/XML UpdateGrams 可以在 ADO.NET 中运行吗?
- hadoop - 如何在不重启 Hadoop 服务的情况下重置“Reserved Space for Replicas”
- android-studio - Kotlin:将数据从片段传递到recyclerview
- sql-server - Using Substring to pull out a fixed number of characters starting a given number in a separate column in SQL Server Management Studio
- java - 错误:无法找到或加载主类 org.apache.phoenix.queryserver.server.QueryServer 与 Apache Phoenix Queryserver 启动
- java - SpringBoot:使用 Maven“mvn clean compile exec:java”运行应用程序工作正常,但使用“mvn clean install”创建 jar 会引发错误
- django - Razorpay 使用 GET 方法而不是 POST 访问回调 URL
- ruby-on-rails - 如何修复窗户上的红宝石?