注意修改的应该是SystemUI程序,.但是有的芯片厂商会用自己的应用覆盖掉系统应用,此时如果修改framework下的对应系统应用就无效了;要找到实际系统使用的系统应用源码;比如mtk的systemUI源码实际上是在vendor/mediatek/proprietary/packages/apps/SystemUI/
diff --git a/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java b/vendor/mediatek/proprietary/packages/apps/SystemUI/src
/com/android/systemui/media/MediaProjectionPermissionActivity.java
index f784293..6036359 100644
--- a/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
@@ -140,28 +140,36 @@ public class MediaProjectionPermissionActivity extends Activity
dialogText = message;
}
- String dialogTitle = getString(R.string.media_projection_dialog_title);
-
- View dialogTitleView = View.inflate(this, R.layout.media_projection_dialog_title, null);
- TextView titleText = (TextView) dialogTitleView.findViewById(R.id.dialog_title);
- titleText.setText(dialogTitle);
-
- mDialog = new AlertDialog.Builder(this)
- .setCustomTitle(dialogTitleView)
- .setMessage(dialogText)
- .setPositiveButton(R.string.media_projection_action_text, this)
- .setNegativeButton(android.R.string.cancel, this)
- .setOnCancelListener(this)
- .create();
-
- mDialog.create();
- mDialog.getButton(DialogInterface.BUTTON_POSITIVE).setFilterTouchesWhenObscured(true);
-
- final Window w = mDialog.getWindow();
- w.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
- w.addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
-
- mDialog.show();
+ // String dialogTitle = getString(R.string.media_projection_dialog_title);
+
+ // View dialogTitleView = View.inflate(this, R.layout.media_projection_dialog_title, null);
+ // TextView titleText = (TextView) dialogTitleView.findViewById(R.id.dialog_title);
+ // titleText.setText(dialogTitle);
+
+ // mDialog = new AlertDialog.Builder(this)
+ // .setCustomTitle(dialogTitleView)
+ // .setMessage(dialogText)
+ // .setPositiveButton(R.string.media_projection_action_text, this)
+ // .setNegativeButton(android.R.string.cancel, this)
+ // .setOnCancelListener(this)
+ // .create();
+
+ // mDialog.create();
+ // mDialog.getButton(DialogInterface.BUTTON_POSITIVE).setFilterTouchesWhenObscured(true);
+
+ // final Window w = mDialog.getWindow();
+ // w.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
+ // w.addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+
+ // mDialog.show();
+ try{
+ setResult(RESULT_OK, getMediaProjectionIntent(mUid, mPackageName));
+ }catch(RemoteException e){
+ Log.e(TAG, "Error granting projection permission", e);
+ setResult(RESULT_CANCELED);
+ } finally {
+ finish();
+ }
}