Почему Android-SliceViewer не работает с

Я пытаюсь следовать этой кодовой метке Google

Создание ломтиков Android

Когда я ввожу следующую команду ADB

adb shell am start -a android.intent.action.VIEW -d slice-content://com.android.example.slicecodelab/temperature

Slice Viewer аварийно завершает работу:

2019-03-19 10:16:05.704 8343-8583/com.example.android.sliceviewer E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
    Process: com.example.android.sliceviewer, PID: 8343
    java.lang.NullPointerException: name == null
        at java.lang.Enum.valueOf(Enum.java:242)
        at android.graphics.PorterDuff$Mode.valueOf(PorterDuff.java:178)
        at androidx.core.graphics.drawable.IconCompat.onPostParceling(IconCompat.java:757)
        at androidx.core.graphics.drawable.IconCompatParcelizer.read(IconCompatParcelizer.java:19)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1369)
        at androidx.slice.SliceItemHolderParcelizer.read(SliceItemHolderParcelizer.java:12)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1369)
        at androidx.slice.SliceItemParcelizer.read(SliceItemParcelizer.java:15)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readArray(VersionedParcel.java:1342)
        at androidx.versionedparcelable.VersionedParcel.readArray(VersionedParcel.java:1311)
        at androidx.slice.SliceParcelizer.read(SliceParcelizer.java:13)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1369)
        at androidx.slice.SliceItemHolderParcelizer.read(SliceItemHolderParcelizer.java:12)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1369)
        at androidx.slice.SliceItemParcelizer.read(SliceItemParcelizer.java:15)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.VersionedParcel.readArray(VersionedParcel.java:1342)
        at androidx.versionedparcelable.VersionedParcel.readArray(VersionedParcel.java:1311)
        at androidx.slice.SliceParcelizer.read(SliceParcelizer.java:13)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.versionedparcelable.VersionedParcel.readFromParcel(VersionedParcel.java:1440)
        at androidx.versionedparcelable.VersionedParcel.readVersionedParcelable(VersionedParcel.java:1386)
        at androidx.versionedparcelable.ParcelImpl.<init>(ParcelImpl.java:37)
        at androidx.versionedparcelable.ParcelImpl$1.createFromParcel(ParcelImpl.java:61)
        at androidx.versionedparcelable.ParcelImpl$1.createFromParcel(ParcelImpl.java:58)
        at android.os.Parcel.readParcelable(Parcel.java:2860)
        at android.os.Parcel.readValue(Parcel.java:2754)
        at android.os.Parcel.readArrayMapInternal(Parcel.java:3123)
        at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:273)
        at android.os.BaseBundle.unparcel(BaseBundle.java:226)
        at android.os.Bundle.getParcelable(Bundle.java:939)
        at androidx.slice.compat.SliceProviderCompat.bindSlice(SliceProviderCompat.java:320)
2019-03-19 10:16:05.704 8343-8583/com.example.android.sliceviewer E/AndroidRuntime:     at androidx.slice.compat.SliceProviderCompat.bindSlice(SliceProviderCompat.java:378)
        at androidx.slice.SliceViewManagerCompat.bindSlice(SliceViewManagerCompat.java:65)
        at androidx.slice.widget.SliceLiveData$SliceLiveDataImpl$1.run(SliceLiveData.java:291)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

Фактически, независимо от того, какое учебное пособие по Android Slice я пытаюсь использовать, просмотрщик слайсов завершается сбоем точно так же.

Разве ломтики андроида не готовы к использованию?

Что я не прав?

Как я могу исправить Slice Viewer?

ОБНОВИТЬ

У меня возникла проблема (выпуск 128658881), и Google исправляет это.

1 ответ

Решение

Приложение Slice-Viewer аварийно завершает работу на устройствах ниже API 28, когда мы пытаемся отображать значки в срезе. Приложение не падает на пирог.

Эта проблема описана здесь

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