在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; } }
答案 0 :(得分:0)
按照以下步骤
首先,将存储权限放在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
条件下完成任务。
答案 1 :(得分:0)
我找到了解决方案,如果我们将使用android编译android系统应用程序:sharedUserId =“ android.uid.system ”它的工作完美......
感谢你。