Android 永久隐藏导航栏,系统栏的方法
2017-11-30 10:53
323 查看
文章来自:http://blog.csdn.net/moliyll/article/details/41945083
public void showSystembar(boolean makeVisible) {
checkInitialized();
try {
// get the existing environment
ArrayList<String> envlist = new ArrayList<String>();
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
envlist.add(envName + "=" + env.get(envName));
}
String[] envp = (String[]) envlist.toArray(new String[0]);
// depending on makeVisible, show or hide the bar
if (makeVisible) {
Log.v(TAG, "showBar will show systembar");
// execute in correct environment
String command;
Device dev = Device.getInstance();
if (dev.getAndroidVersion() == AndroidVersion.HC) {
command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
//The four nucleus Tablet hide or display systemui
} else if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
command = "su -c am startservice -n com.android.systemui/.SystemUIService ";
//The four nucleus Tablet hide or display systemui
} else {
command = "rm /sdcard/hidebar-lock\n"
+ "sleep 5\n"
+ "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
}
//The four nucleus Tablet hide or display systemui
if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
Runtime.getRuntime().exec(command);
} else{
Runtime.getRuntime().exec(new String[] { "su", "-c", command }, envp);
}
//The four nucleus Tablet hide or display systemui
// no proc.waitFor();
// we just shown the bar, set flag to visible
mSystembarVisible = true;
} else {
Log.v(TAG, "showBar will hide the systembar");
// execute in correct environment
String command;
Device dev = Device.getInstance();
if (dev.getAndroidVersion() == AndroidVersion.HC) {
command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib service call activity 79 s16 com.android.systemui";
//The four nucleus Tablet hide or display systemui
} else if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
command = "su -c service call activity 42 s16 com.android.systemui";
//The four nucleus Tablet hide or display systemui
} else {
command = "touch /sdcard/hidebar-lock\n"
+ "while [ -f /sdcard/hidebar-lock ]\n"
+ "do\n"
+ "killall com.android.systemui\n"
/ + "sleep 1\n"
+ "usleep 500000\n"
+ "done\n"
+ "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
}
//The four nucleus Tablet hide or display systemui
if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
Runtime.getRuntime().exec(command);
} else{
Runtime.getRuntime().exec(new String[] { "su", "-c", command }, envp);
}
//The four nucleus Tablet hide or display systemui
// no proc.waitFor();
// we just hide the bar, set flag to not visible
mSystembarVisible = false;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void showSystembar(boolean makeVisible) {
checkInitialized();
try {
// get the existing environment
ArrayList<String> envlist = new ArrayList<String>();
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
envlist.add(envName + "=" + env.get(envName));
}
String[] envp = (String[]) envlist.toArray(new String[0]);
// depending on makeVisible, show or hide the bar
if (makeVisible) {
Log.v(TAG, "showBar will show systembar");
// execute in correct environment
String command;
Device dev = Device.getInstance();
if (dev.getAndroidVersion() == AndroidVersion.HC) {
command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
//The four nucleus Tablet hide or display systemui
} else if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
command = "su -c am startservice -n com.android.systemui/.SystemUIService ";
//The four nucleus Tablet hide or display systemui
} else {
command = "rm /sdcard/hidebar-lock\n"
+ "sleep 5\n"
+ "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
}
//The four nucleus Tablet hide or display systemui
if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
Runtime.getRuntime().exec(command);
} else{
Runtime.getRuntime().exec(new String[] { "su", "-c", command }, envp);
}
//The four nucleus Tablet hide or display systemui
// no proc.waitFor();
// we just shown the bar, set flag to visible
mSystembarVisible = true;
} else {
Log.v(TAG, "showBar will hide the systembar");
// execute in correct environment
String command;
Device dev = Device.getInstance();
if (dev.getAndroidVersion() == AndroidVersion.HC) {
command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib service call activity 79 s16 com.android.systemui";
//The four nucleus Tablet hide or display systemui
} else if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
command = "su -c service call activity 42 s16 com.android.systemui";
//The four nucleus Tablet hide or display systemui
} else {
command = "touch /sdcard/hidebar-lock\n"
+ "while [ -f /sdcard/hidebar-lock ]\n"
+ "do\n"
+ "killall com.android.systemui\n"
/ + "sleep 1\n"
+ "usleep 500000\n"
+ "done\n"
+ "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
}
//The four nucleus Tablet hide or display systemui
if(dev.getAndroidVersion() == AndroidVersion.JELLYBEAN4_2) {
Runtime.getRuntime().exec(command);
} else{
Runtime.getRuntime().exec(new String[] { "su", "-c", command }, envp);
}
//The four nucleus Tablet hide or display systemui
// no proc.waitFor();
// we just hide the bar, set flag to not visible
mSystembarVisible = false;
}
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章推荐
- Android 4.2 原生系统有哪些方法实现全屏下隐藏导航栏?
- Android 4.2 原生系统有哪些方法实现全屏下隐藏导航栏?
- android 状态栏 导航栏隐藏显示控制方法及效果示例
- Android用loadClass获取系统隐藏类和隐藏服务的方法
- 隐藏android系统的状态栏和导航栏
- Android 隐藏系统导航栏
- Android 系统中隐藏文件或文件夹的方法
- Android动态控制状态栏以及系统导航栏显示和隐藏
- Android M App 永久隐藏导航栏的Solution
- Android中系统默认输入法设置的方法(输入法的显示和隐藏)
- Android开发launcher、setting类应用时调用Android系统隐藏api的方法
- 在Android 7.0隐藏导航栏和状态栏的一些方法
- 调用Android系统隐藏方法
- android-实现仿系统search框的autoCompleteTextView----如何调用系统的隐藏方法
- Android 4.0 隐藏虚拟按键(导航栏)的方法
- 如何使用android系统隐藏hide的类和方法
- 隐藏android系统的状态栏和导航栏
- Android 4.0 隐藏虚拟按键(导航栏)的方法
- Android App 隐藏标题栏+状态栏+导航栏+获取状态栏的三种方法
- Android 4.0 隐藏虚拟按键(导航栏)的方法