【问题标题】:Override Home Button Android覆盖主页按钮 Android
【发布时间】:2013-11-16 15:55:17
【问题描述】:

我正在编写一个应用程序,该应用程序必须停留在平板电脑的屏幕上,每个人都可以访问。

这意味着只有知道密码的人才能访问平板电脑,而路过的用户只能使用该应用程序。但是,我被困在主页按钮上。有没有办法改变它?禁用、控制什么的?

【问题讨论】:

  • 我猜在 ics 及以上不可能。无法覆盖主页按钮
  • 除非您分叉 Android 源代码并为您的设备构建自己的自定义 Android OS rom(这不是一个现实的任务......)我怀疑您能否实现您想要的。即使您可以阻止主页按钮,您将如何阻止某人访问设置和卸载您的应用程序?或者通过最近应用列表或通知下拉访问其他最近使用的应用?

标签: android android-launcher android-homebutton


【解决方案1】:

您可以使用 AndroidManifest 中非常相似的活动代码将您的应用程序作为主屏幕启动器应用程序。这样,当用户按下主页按钮时,您的应用程序将被打开。

    <activity
        android:name=".MainActivity"
        android:launchMode="singleTask"
        android:excludeFromRecents="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <!-- The following two intent-filters are the key to set homescreen -->
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />

        </intent-filter>
    </activity>

【讨论】:

    【解决方案2】:

    看来您需要做的是制作一个启动器来替换默认主屏幕。否则无法更改 home 键的行为。

    要制作启动器,请查看How to make a launcher

    【讨论】:

      【解决方案3】:

      我已经在 Android ICS 上尝试过,它可以工作:

      <category android:name="android.intent.category.HOME" />
      <category android:name="android.intent.category.DEFAULT" />
      

      当我在我的 Android 清单中按下带有此设置的主页按钮时,活动会自动启动。(它第一次询问我是否要转到 Xperia Home 或启动我的应用程序时,我也可以将其设为永久)

      虽然我确实有一个问题,但我希望能够在按住主页按钮时打开我的应用程序,我该怎么做?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多