0

我正在尝试关注这个谷歌代码实验室

创建 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)

事实上,无论我尝试使用 Slice Viewer 的 Android Slice 教程都以完全相同的方式失败

android Slices 还没有准备好使用吗?

我错了什么?

如何修复切片查看器?

更新

我提出了一个问题(问题 128658881),谷歌正在解决这个问题。

4

1 回答 1

1

当我们尝试在切片中显示图标时,切片查看器应用程序在 API 28 以下的设备上崩溃。该应用程序不会在 Pie 上崩溃。

此处描述了此问题

于 2019-04-23T09:47:47.460 回答