Android OS11, не удается поделиться файлом с помощью неявного намерения

#java #android #file #android-sharing

Вопрос:

Здесь я пытаюсь отправить файл, используя приведенный ниже код. Он отлично работает в более старом api,менее 28.Я обновил код, запросив разрешения на чтение/запись uri для намерения.Но все равно это не работает. Приложение выходит из строя с приведенным ниже кодом. ТИА.

  public void sendAction(Context context, String path) {
   Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    intent.setType("application/pdf"); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);

    Uri uri = Uri.parse(path);
    ArrayList<Uri> ml = new ArrayList<Uri>();
    ml.add(uri);
    

    intent.putExtra(Intent.EXTRA_STREAM, ml);
    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    context.startActivity(Intent.createChooser(intent, context
            .getResources().getString(R.string.share_msg)));

}
 

Вот это крушение:

09-06 21:29:01.075 17597 17597 D Активность выбора: запрос целевых объектов прямого доступа из ShortcutManager 09-06 21:29:01.075 17597 17597 E Активность выбора: Не удалось получить фильтр целевого назначения 09-06 21:29:01.075 17597 17597 E Активность выбора: java.lang.Исключение NullPointerException: Попытка вызвать виртуальный метод ‘java.lang.Строка java.lang.String.intern()’ по ссылке на нулевой объект 09-06 21:29:01.075 17597 17597 E Активность выбора: в android.content.IntentFilter.addDataAuthority(IntentFilter.java:1335) 09-06 21:29:01.075 17597 17597 E Активность выбора: на com.android.internal.app.Активность выбора.getTargetIntentFilter(активность выбора.java:2066) 09-06 21:29:01.075 17597 17597 E Активность выбора: на com.android.internal.app.активность выбора.queryDirectShareTargets(выберите активность.java:2115) 09-06 21:29:01.075 17597 17597 E Активность выбора: на com.android.internal.app.Активность выбора.onListRebuilt(активность выбора.java:2999) 09-06 21:29:01.075 17597 17597 E Активность выбора: по адресу com.android.internal.app.разрешающая способность.onPostListReady(разрешающая способность.java:1162) 09-06 21:29:01.075 17597 17597 е ChooserActivity: на ком.андроид.внутренние.приложение.ResolverListAdapter$2.бежать(ResolverListAdapter.Ява:399) 09-06 21:29:01.075 17597 17597 е ChooserActivity: в Android.ОС.Обработчик.handleCallback(обработчика.Ява:938) 09-06 21:29:01.075 17597 17597 е ChooserActivity: в Android.ОС.Обработчик.dispatchMessage(обработчика.Ява:99) 09-06 21:29:01.075 17597 17597 е ChooserActivity: в Android.ОС.Петлитель.петли(лупер.Ява:233) 09-06 21:29:01.075 17597 17597 е ChooserActivity: в Android.приложение.ActivityThread.основной(ActivityThread.Ява:8010) 09-06 21:29:01.075 17597 17597 E Активность выбора: на java.lang.reflect.Метод.вызов(собственный метод) 09-06 21:29:01.075 17597 17597 E Активность выбора: по адресу com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631) 09-06 21:29:01.075 17597 17597 E Активность выбора: на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978) 09-06 21:29:01.075 17597 17597 D Активность выбора: Список служб запросов