我正在开发一个Android应用程序,如果用户安装了该应用程序,那么当用户点击硬件菜单按钮时该应用程序必须打开。默认的硬件菜单选项应该隐藏(设置,搜索,创建文件夹,编辑页面......)。用户卸载该应用程序,然后默认菜单选项必须替换。是否可以访问该应用程序,请建议我。谢谢Adavance。
答案 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>
同样,我不建议这样做,因为你必须创建一个全新的启动器。