HDMI 状态未进入 android 棉花糖
HDMI status is not coming in android marshmallow
低于 android 6.0 它工作完美,但在 android marshmallow HDMI 状态没有出现
private boolean isHdmiSwitchSet() {
File switchFile = new File("/sys/devices/virtual/switch/hdmi/state");
if (!switchFile.exists()) {
switchFile = new File("/sys/class/switch/hdmi/state");
}
try {
Scanner switchFileScanner = new Scanner(switchFile);
Toast.makeText(MainActivity.this,"HDMI Status"+switchFileScanner.nextInt(),Toast.LENGTH_LONG).show();
int switchValue = switchFileScanner.nextInt();
switchFileScanner.close();
return switchValue > 0;
} catch (Exception e) {
return false;
}
}
按照以下步骤操作,
首先,在AndroidManifest
文件中加入存储权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
二、访问文件前检查用户是否允许权限:
public boolean checkPermissionForWRITE_STORAGE(){
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (result == PackageManager.PERMISSION_GRANTED){
return true;
} else {
return false;
}
}
第三,在 true
条件下完成任务。
我找到了解决方案,如果我们像 android 系统应用程序一样编译 android:sharedUserId="android.uid.system" 它的工作完美.. .
谢谢你。
低于 android 6.0 它工作完美,但在 android marshmallow HDMI 状态没有出现
private boolean isHdmiSwitchSet() { File switchFile = new File("/sys/devices/virtual/switch/hdmi/state"); if (!switchFile.exists()) { switchFile = new File("/sys/class/switch/hdmi/state"); } try { Scanner switchFileScanner = new Scanner(switchFile); Toast.makeText(MainActivity.this,"HDMI Status"+switchFileScanner.nextInt(),Toast.LENGTH_LONG).show(); int switchValue = switchFileScanner.nextInt(); switchFileScanner.close(); return switchValue > 0; } catch (Exception e) { return false; } }
按照以下步骤操作,
首先,在AndroidManifest
文件中加入存储权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
二、访问文件前检查用户是否允许权限:
public boolean checkPermissionForWRITE_STORAGE(){
int result = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (result == PackageManager.PERMISSION_GRANTED){
return true;
} else {
return false;
}
}
第三,在 true
条件下完成任务。
我找到了解决方案,如果我们像 android 系统应用程序一样编译 android:sharedUserId="android.uid.system" 它的工作完美.. .
谢谢你。