Использование функции "картинка в картинке" в Android O

Я создал приложение для Android, чтобы проверить функцию "картинка в картинке" в Android O. Но я столкнулся с ошибкой при запуске этого приложения.

setPictureInPictureArgs: устройство не поддерживает режим "картинка в картинке"

 java.lang.IllegalStateException: setPictureInPictureArgs: Device doesn't support picture-in-picture mode.
       at android.os.Parcel.readException(Parcel.java:1923)
       at android.os.Parcel.readException(Parcel.java:1861)
       at android.app.IActivityManager$Stub$Proxy.setPictureInPictureArgs(IActivityManager.java:9378)
       at android.app.Activity.setPictureInPictureArgs(Activity.java:1984)
       at com.example.pip.MainActivity.updatePictureInPictureActions(MainActivity.java:156)
       at com.example.pip.MainActivity$2.onMovieStarted(MainActivity.java:101)
       at com.example.pip.widget.MovieView.play(MovieView.java:350)
       at com.example.pip.widget.MovieView$3.onPrepared(MovieView.java:384)
       at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:3170)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:156)
       at android.app.ActivityThread.main(ActivityThread.java:6440)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:746)

1 ответ

Решение

Эта проблема больше не воспроизводится в стабильной версии Android O.

Иногда устройства работают на Android-O и более поздних версиях, но не могут запускать PIP, потому что они отключены устройством из-за малого размера ОЗУ.

Итак, прежде чем ваше приложение будет использовать PIP, лучше проверить, доступна ли функция, позвонив hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE).

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)) {
            //your code
        }
    }

Ссылка: https://developer.android.com/guide/topics/ui/picture-in-picture

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