2

В настоящее время я использую API 5.0 для мультимедиа Android 5.0. Мне удалось запустить сеанс проекции из моего приложения, однако я заметил, что пользователь может в любой момент перейти на панель уведомлений и остановить медиапроекцию. Моя цель - захватить это событие и выполнить некоторые действия по очистке. Я зарегистрировал MediaProjection.Callback в моем объекте MediaProjection, однако, когда я вручную отменить проецирование из панели уведомлений и система пытается вызвать OnStop метод моего MediaProjection.Callback я получаю исключение NullPointer следующим образом:Обратный вызов API Android MediaProjection, когда пользователь отменяет проекцию из панели уведомлений

03-24 12:54:56.575: W/Binder(9589): Caught a RuntimeException from the binder stub implementation. 
03-24 12:54:56.575: W/Binder(9589): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.projection.MediaProjection$CallbackRecord.onStop()' on a null object reference 
03-24 12:54:56.575: W/Binder(9589):  at android.media.projection.MediaProjection$MediaProjectionCallback.onStop(MediaProjection.java:188) 
03-24 12:54:56.575: W/Binder(9589):  at android.media.projection.IMediaProjectionCallback$Stub.onTransact(IMediaProjectionCallback.java:49) 
03-24 12:54:56.575: W/Binder(9589):  at android.os.Binder.execTransact(Binder.java:446) 

Мой MediaProjection.Callback в данный момент практически ничего не делает, я вставив его для полноты:

private class MediaProjectionCallback extends MediaProjection.Callback { 
    @Override 
    public void onStop() { 
     Log.e("MediaProjection", "onStop"); 
    } 
} 

Любые идеи, почему это происходит?

Большое спасибо заранее!

+0

Похож на возможную ошибку: https://code.google.com/p/android/issues/detail?id=148937 Вы не являетесь тем, кто вызывает метод для объекта «null»; рамки. – CommonsWare

+0

Да, похоже. Есть ли какой-либо другой API обратного вызова, который регистрирует аннулирование проекции пользователя? – mtsahakis

+0

Я еще не использовал API MediaProjection, так что я не знаю - извините! – CommonsWare

ответ

2

Это, по-видимому, было зафиксировано в версии Android 5.1.