如何将应用程序添加到android中的硬件菜单按钮?

时间:2013-05-28 13:33:17

标签: android

我正在开发一个Android应用程序,如果用户安装了该应用程序,那么当用户点击硬件菜单按钮时该应用程序必须打开。默认的硬件菜单选项应该隐藏(设置,搜索,创建文件夹,编辑页面......)。用户卸载该应用程序,然后默认菜单选项必须替换。是否可以访问该应用程序,请建议我。谢谢Adavance。

2 个答案:

答案 0 :(得分:0)

因此,您希望覆盖标准菜单硬件按钮行为。这不是一种标准方式,我认为Android不会让您更改应用程序外的按钮行为。也许如果您编写自己的“家庭应用程序”(即将作为其他应用程序的启动器启动的应用程序)。

在这种情况下,请看:

How can I create a custom home-screen replacement application for Android?

答案 1 :(得分:0)

Android不允许您这样做。最接近的是创建自己的启动器。这将导致每次用户点击“主页”按钮时都会调用您应用的活动,但请记住,无论您决定展示什么活动,都必须让用户能够启动其他应用以默认Android启动器的方式。

只需将以下内容添加到应用清单中活动元素中的<intent-filter>元素:

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

所以你的清单看起来像是:

<?xml version="1.0" encoding="utf-8"?>

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.son1c.launcher"
  android:versionCode="1"
  android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".MainActivity"
              android:label="@string/app_name">

        <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>

    </activity>
</application>
</manifest>

同样,我不建议这样做,因为你必须创建一个全新的启动器。