public void DoSomething()
{
Process process = null;
DataOutputStream dataOutputStream = null;
try
{
process = Runtime.getRuntime().exec("su");
dataOutputStream = new DataOutputStream(process.getOutputStream());
dataOutputStream.writeBytes("chmod 777 /dev/i2c-1 \n");
dataOutputStream.writeBytes("exit\n");
dataOutputStream.flush();
process.waitFor();
}
catch (Exception e)
{
Log.d(TAG, "RootCommand: " + e.getMessage());
return;
}
finally
{
try
{
if (dataOutputStream != null)
{
dataOutputStream.close();
}
process.destroy();
}
catch (Exception e)
{
Log.d(TAG, "RootCommand: " + e.getMessage());
return;
}
}
Log.d(TAG, "RootCommand: Root Succeed.");
}
#1. 创建接收器
public class USBReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
StorageManager mStorageManager = (StorageManager) context.getSystemService(Activity.STORAGE_SERVICE);
String action = intent.getAction();
Log.d(TAG, "receive broadcast\n"+action);
if(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
String path = intent.getData().getPath();
//path = getCorrectPath(path);//获取正确的,完整的路径
Log.d(TAG, "THE PATH IS:\n"+path);
}
}
}
#2. 定义变量
USBReceiver usbBroadcast;
#3. 在onCreate 下面注册广播
usbBroadcast = new USBReceiver();
IntentFilter usbFilter= new IntentFilter();
usbFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
usbFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
usbFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
usbFilter.addDataScheme("file");
registerReceiver(usbBroadcast,usbFilter);
android 获取i2c 权限
于 2024-06-04 17:11:28 首次发布