【问题标题】:How to make app as a default system launcher?如何将应用程序设为默认系统启动器?
【发布时间】:2014-12-12 20:54:29
【问题描述】:

我开发了启动器应用程序,当我第一次将它安装在设备上时,Android 系统会弹出选择器对话框,其中包含两个选项,即始终和仅一次。我选择了“始终”,现在我的应用程序成为默认启动器,但问题是当我更新应用程序时,系统再次弹出相同的选择器对话框,我不想显示该弹出窗口。如何将应用程序设为默认系统启动器?为此,我需要创建系统级应用吗?

我已使用以下权限将应用设为启动器

<intent-filter>
 <action android:name="android.intent.action.MAIN" />               
 <category android:name="android.intent.category.HOME" />
 <category android:name="android.intent.category.DEFAULT" />
 <category android:name="android.intent.category.MONKEY" />
</intent-filter>

【问题讨论】:

  • 我不确定这是否可能(至少没有 root,在这种情况下我不禁抱歉!),在更糟糕的情况下,您可以像要求用户一样配置它首次运行时选择您的应用作为默认应用
  • @TomTsagk 是的,完成了。但更新后它再次询问我想避免哪个

标签: android intentfilter android-launcher


【解决方案1】:

无法更改用户首选项。 Google 不允许开发者更改用户偏好。

一种解决方法可能很有用,您可以通过服务检查您的应用程序是否是默认启动器,然后提示用户选择您的应用程序作为默认启动器。

你可以从here(试过这个,对我有用)或here找到如何检查你的应用程序是否是默认启动器

如果它不是默认启动器,那么您可以提示用户选择您的应用程序。 here 提供了一个解决方法。

【讨论】:

  • 虽然它使自己成为默认启动器,但是当我按下主页按钮时它会打开应用程序,但按下后退按钮会转到以前的默认启动器,我不想发生这种情况。
  • @VikasPandey 您是否为“后压”问题找到了合适的解决方案?我已经覆盖了没有“super.onBackPressed”调用的“onBackPressed”函数。不确定这是否是最佳解决方案。
猜你喜欢
  • 1970-01-01
  • 2017-06-05
  • 1970-01-01
  • 2020-07-09
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 2019-04-04
相关资源
最近更新 更多