Почему Android-SliceViewer не работает с - PullRequest
0 голосов
/ 19 марта 2019

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

Создание фрагментов Android

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

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

СрезПрограмма просмотра аварийно завершает работу следующим образом: -

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 я пытаюсь использовать средство просмотра слайсов, происходит сбой точно таким же образом

Не готовы ли фрагменты Android для использования?

В чем я не прав?

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

ОБНОВЛЕНИЕ

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

1 Ответ

1 голос
/ 23 апреля 2019

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

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

...