You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.8 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

public static final int DISABLE_EXPAND = 0x00010000;//4.2以上的整形标识
public static final int DISABLE_EXPAND_LOW = 0x00000001;//4.2以下的整形标识
public static final int DISABLE_NONE = 0x00000000;//取消StatusBar所有disable属性即还原到最最原始状态
private void unBanStatusBar() {//利用反射解除状态栏禁止下拉
Object service = getSystemService("statusbar");
try {
Class<?> statusBarManager = Class.forName("android.app.StatusBarManager");
Method expand = statusBarManager.getMethod("disable", int.class);
expand.invoke(service, DISABLE_NONE);
} catch (Exception e) {
e.printStackTrace();
}
}
private void setStatusBarDisable(int disable_status) {//调用statusBar的disable方法
Object service = getSystemService("statusbar");
try {
Class<?> statusBarManager = Class.forName("android.app.StatusBarManager");
Method expand = statusBarManager.getMethod("disable", int.class);
expand.invoke(service, disable_status);
} catch (Exception e) {
unBanStatusBar();
e.printStackTrace();
}
}
private void disStatusBar() {//禁止statusbar下拉适配了高低版本
int currentApiVersion = android.os.Build.VERSION.SDK_INT;
if (currentApiVersion <= 16) {
setStatusBarDisable(DISABLE_EXPAND_LOW);
} else {
setStatusBarDisable(DISABLE_EXPAND);
}
}
记得一定要加权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:sharedUserId="android.uid.system"
package="com.rehome.destop">
manifest加入这行
android:sharedUserId="android.uid.system"
加入权限
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
<uses-permission android:name="android.permission.STATUS_BAR"/>