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