接广播打开camera,关闭camera。

还是在batterservice接收广播进行处理,

完整如下:

frameworks/ base/services/core/java/com/android/server/BatteryService.java

    importandroid.content.IntentFilter;
    importandroid.content.BroadcastReceiver;
    importandroid.provider.MediaStore;
    importandroid.content.ComponentName;

构造函数public BatteryService(Context context) {

加入

    IntentFilte filter = new IntentFilter();
           filter.addAction("com.intent.entering.camera");
            mContext.registerReceiver(mReceiver,filter);

在复写的@Override

public void onStart() {

之前加入

      BroadcastReceiver mReceiver = newBroadcastReceiver() {
            @Override
            public void onReceive(Context context,Intent intent) {
                String action = intent.getAction();
                if (action.equals("com.intent.entering.camera")){
                   android.util.Log.i("yantao","com.intent.entering.camera");
                    Boolean cameraState =intent.getBooleanExtra("open", false);
                    if (cameraState) {
                        Intent goCamera = newIntent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
                       mContext.startActivityAsUser(goCamera, UserHandle.CURRENT_OR_SELF);
                    } else {
    //这里就是遍历所有进程,得到要杀掉的进程id,杀掉
                        ActivityManager activityManager= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
                       List<ActivityManager.RunningAppProcessInfo> mRunningProcess =activityManager.getRunningAppProcesses();
                        int i = 1;
                        for (ActivityManager.RunningAppProcessInfoamProcess : mRunningProcess) {
                           android.util.Log.i("yantao", (i++) + "PID: " +amProcess.pid + "(processName=" + amProcess.processName +"UID=" + amProcess.uid + ")");
                            if(amProcess.processName.equals("com.mediatek.camera")){
                           android.os.Process.killProcess(amProcess.pid);
                            }
                        }
                    }
                } 
            }
        };

猜你喜欢

转载自blog.csdn.net/youthking1314/article/details/129621824
今日推荐