Проблемы со службой MediaProjection в Android

Когда пользователь устанавливает приложение на мобильный телефон, ему / ей необходимо дать разрешение системной службе MediaProjection для запуска функции снимка экрана. Каждый раз, когда пользователь перезагружает мобильное устройство, пользователь должен каждый раз вручную давать разрешение службы MediaProjection. Я хочу сделать так, чтобы пользователю нужно было давать разрешение MediaProjection только один раз, когда приложение установлено на мобильном телефоне, чтобы пользователю не нужно было назначать разрешение каждый раз, когда мобильный телефон запускается.

Другая проблема заключается в том, что через некоторое время служба MediaProjection останавливается автоматически / случайным образом.

Этот код запускает разрешение системной службы MediaProjection, когда мы вручную включаем разрешение:

MediaProjectionManager projectionManager = (MediaProjectionManager) 
_context.getSystemService(MEDIA_PROJECTION_SERVICE);
intent = projectionManager.createScreenCaptureIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
((Activity)_context).startActivityForResult(intent,REQUEST_SCREENSHOT);

Этот код запускает класс обслуживания при перезапуске мобильного устройства. Поэтому при запуске службы разрешение MediaProjection не устанавливается автоматически.

Intent myIntent = new Intent(context, ScreentshotService.class);
myIntent.setAction(Intent.ACTION_BOOT_COMPLETED);
myIntent.putExtra("code", code);
myIntent.putExtra("data",intent1);
context.startService(myIntent);

Я вызываю этот Service.class после перезагрузки, используя приведенный выше код, но он не запускает Служба MediaProjection.

Лучше всего задать два вопроса в разных постах.

Stephen M -on strike- 17.10.2018 17:41

В этом сообщении задается вопрос, аналогичный первой половине вашего вопроса (к сожалению, пока нет ответа): stackoverflow.com/questions/50841207/…

Stephen M -on strike- 17.10.2018 17:41
0
2
521
0

Другие вопросы по теме