隐藏导航(系统)栏上的软键

时间:2013-11-28 01:53:04

标签: android android-manifest

我尝试了很多不同的方法。以下是我无法使用任何内容的原因: - 我的应用程序将安装在超过200个平板电脑上,所以如果我想下载应用程序(例如Hide Bottom Barfull!screen)以锁定我的应用并在每个平板电脑上安装它,它会杀了我。 - 代码通常适用于以前版本的android(3),但我正在使用JellyBean 4.2

尽管我在我的活动中使用了很多程序代码(并且没有使用它们),我也在我的清单文件中尝试了很多不同的代码。

我需要做的就是禁用导航栏上的软键,我甚至不想隐藏导航栏(但如果你可以建议一种方法,为什么不呢?)

以下是我的清单文件中的代码,只是为了向您展示我尝试了多少不同的代码并且仍然坚持这个代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androiddbconnection"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application

    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.androiddbconnection.JSONUseActivity"
        android:label="@string/app_name" 
        android:launchMode="singleInstance"
        android:stateNotNeeded="true"
        >
        <intent-filter>
            <action android:name="android.settings.SETTINGS" />
            <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.LAUNCHER" />
        </intent-filter>
    </activity>



    <activity
        android:name=".Webview"
        android:theme="@android:style/Theme.NoTitleBar"
        android:label="@string/app_name" >

    </activity>

</application>

有什么建议吗? 我也遇到过这个问题:  You need to write your own home screen app which will implement the lockscreen behaviour that you require. There is sample code for writing your own home screen app in the Android SDK(Source code). 如果您认为这是一个好方法,那么告诉我该怎么做?

P.S。,我知道在这个版本的android中它被认为是一个安全问题,所以请给我一些我真正可以使用的东西。提前谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个(如果您构建自己的固件或者您有系统UID

    int DISABLE_MASK = StatusBarManager.DISABLE_MASK;

    StatusBarManager mStatusBarManager = 
             (StatusBarManager)getSystemService("statusbar");
    mStatusBarManager.disable(DISABLE_MASK_IW);

DISABLE_MASK常量定义为:

DISABLE_MASK = DISABLE_EXPAND | DISABLE_NOTIFICATION_ICONS
            | DISABLE_NOTIFICATION_ALERTS | DISABLE_NOTIFICATION_TICKER
            | DISABLE_SYSTEM_INFO | DISABLE_RECENT 
            | DISABLE_HOME | DISABLE_BACK | DISABLE_CLOCK;

您需要此权限

<uses-permission android:name="android.permission.STATUS_BAR" />

以下是标志的详细信息:

public static final int DISABLE_EXPAND = View.STATUS_BAR_DISABLE_EXPAND;
public static final int DISABLE_NOTIFICATION_ICONS = View.STATUS_BAR_DISABLE_NOTIFICATION_ICONS;
public static final int DISABLE_NOTIFICATION_ALERTS
        = View.STATUS_BAR_DISABLE_NOTIFICATION_ALERTS;
public static final int DISABLE_NOTIFICATION_TICKER
        = View.STATUS_BAR_DISABLE_NOTIFICATION_TICKER;
public static final int DISABLE_SYSTEM_INFO = View.STATUS_BAR_DISABLE_SYSTEM_INFO;
public static final int DISABLE_HOME = View.STATUS_BAR_DISABLE_HOME;
public static final int DISABLE_RECENT = View.STATUS_BAR_DISABLE_RECENT;
public static final int DISABLE_BACK = View.STATUS_BAR_DISABLE_BACK;
public static final int DISABLE_CLOCK = View.STATUS_BAR_DISABLE_CLOCK;

@Deprecated
public static final int DISABLE_NAVIGATION = 
        View.STATUS_BAR_DISABLE_HOME | View.STATUS_BAR_DISABLE_RECENT;

public static final int DISABLE_NONE = 0x00000000;
相关问题