我可以使用adb来更改默认启动程序

问题描述:

我将其中一个程序设置为默认启动程序和默认设置程序,所以我现在不能更改默认程序,我可以更改默认程序android-sdk \ android-sdk \ platform-tools \ adb.exe或远程shell,我该怎么做?我可以使用adb来更改默认启动程序

我能删除java代码中的程序默认值吗?

你可以这样做删除(卸载)设置使用ADB的默认程序:

adb uninstall app.package ..... //for example (com.example.homeapp) 

如果你不想删除应用..这里是一个快速的黑客做:

  • 亚行外壳
  • 上午开始-a android.intent.action.MAIN

这样,你将与你的设备的所有应用程序挑选器侦听主要行动

  • 选择您想要的任何主屏幕应用程序。然后转到设置并将其设置为默认设置。
+1

但我不想卸载它 – 2013-02-11 16:58:05

+0

刚刚测试了一种方法,您可以使用它来实现您想要的效果 – 2013-02-11 17:22:06

+0

“adb shell”方法可以按我需要的方式工作。谢谢! – nrodic 2014-10-24 15:43:06

关键是adb。一旦你知道了应用程序的包名要清除数据,可以尝试:

adb shell pm clear package.name.of.app 

它会清除所有数据,应用程序,但我不知道的方式,只清除默认值。

+2

此代码不会清除默认 – 2013-02-12 18:39:40

+1

这一个删除应用程序数据,但保持应用程序的默认值... – Trinimon 2014-01-15 15:34:06

对于系统应用无法卸载,使用时禁止在

adb shell pm disable com.android.launcher

+0

这应该是被接受的答案,使用adb shell禁用您不需要的启动程序之一。 – kev 2016-11-10 07:54:06

亚行外壳CMD包组入户活动“包/活动”

亚行重启

+0

'/ system/bin/sh:cmd:not found'你需要什么样的android版本才能工作?你在哪里得到'cmd'?编辑:它不适用于API 19,但适用于API 24模拟器。 – 2017-11-05 20:15:25

+0

正确,对不起,我没有提到这是最近添加的 – dljava 2017-11-05 20:21:33

+0

我跟随源代码[PackageManagerShellCommand](https://github.com/aosp-mirror/platform_frameworks_base/blob/nougat-release/services/core/java/com/ android/server/pm/PackageManagerShellCommand.java)和[PackageManagerService#setHomeActivity](https://github.com/aosp-mirror/platform_frameworks_base/blob/3de09838fb0996bb4b420630800ad34e828fd1b6/services/core/java/com/android/server/pm/PackageManagerService .java#L17629),是的,它已被添加到API 24中。但更重要的是它看起来非常符合系统,所以**重新启动应该不是必需的**。 – 2017-11-05 20:40:31