onMapIntentToUri从未调用(切片)

时间:2018-12-01 00:32:51

标签: android android-contentprovider android-9.0-pie android-slices

我正在尝试在我的应用中实现切片。我已经像下面这样声明了SliceProvider

<provider
        android:name=".integration.slices.CustomSliceProvider"
        android:authorities="com.example"
        android:exported="true"
        android:grantUriPermissions="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.app.slice.category.SLICE" />
            <data
                android:host="*example.com"
                android:pathPrefix="/.*"
                android:scheme="https" />
        </intent-filter>

    </provider>

通过<data字段通知host。现在来自CustomSliceProvider类:

@Override
public Slice onBindSlice(Uri sliceUri) {
    if (getContext() == null || sliceUri == null || sliceUri.getPath() == null)
        return null;
    Log.i("CustomSliceProvider", "onBindSlice: " + sliceUri);
    ...


@Override
public @NonNull
Uri onMapIntentToUri(Intent intent) {
    Log.i("CustomSliceProvider", "onMapIntentToUri: " + intent);
    ...

content:// Uri工作正常(我的Slice显示在SliceViewer中)

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

但是我已经声明了https://个网站(另外吗?),并且在致电

时看不到任何Log
adb shell am start -a android.intent.action.VIEW -d slice-https://example.com/smth

我假设应该进行onMapIntentToUri方法调用,但是没有发生。是因为我没有配置AppIndexing吗?我可以在未启用AppIndexing的情况下将Slicehttps://的Uris一起使用吗? (似乎是滥用行为的领域,但也许...?)

0 个答案:

没有答案