onMapIntentToUri никогда не вызывается (фрагменты) - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь реализовать фрагменты в моем приложении.Я объявил 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?Могу ли я использовать Slice s с https:// Uris без включения AppIndexing?(кажется, поле для злоупотреблений, но может быть ...?)

...