То же приложение загружено для совместного использования нескольких файлов

Я делюсь двумя видами файлов из моего кода, zip-файлами и 3gp-файлами, я использую один и тот же код для обоих и один и тот же FileProvider, который я определил в файле Manifest и xml sharepaths.

Действие "Поделиться" каждый раз представляет варианты для zip-файла, но аудиофайлы, с тех пор, как я впервые проверил их совместное использование на диске Google, не появляется никаких вариантов, приложение google drive запускается каждый раз, когда я хочу поделиться аудиофайлами, это раздражает, так как пользователь Нужно все время выбирать.

private Intent setShareIntent(ArrayList<Uri> uris){
    Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    shareIntent.setType("audio/3gpp");
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
    shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    return shareIntent;
}
private ArrayList<Uri> getChekcedRecordsUris(){
    SparseBooleanArray sba = pRecordsList.getCheckedItemPositions();
    int position;
    ArrayList<Uri> archivesUris = new ArrayList<Uri>();
    for(int i = 0; i< sba.size();i++){
        if(sba.valueAt(i)){
            position = sba.keyAt(i);
            File selectedArchive = pRecordsFilesAdapter.getItem(position);
            archivesUris.add(FileProvider.getUriForFile(getBaseContext(), "ma.altaiir.app.appfileProvider", selectedArchive));
        }
    }
    return archivesUris;
}
private void shareCheckedItems(){
    Intent shareIntent = setShareIntent(getChekcedRecordsUris());
    if(shareIntent.resolveActivity(FilesActivity.this.getPackageManager()) != null){
        FilesActivity.this.startActivity(shareIntent);
    }else{
        Toast.makeText(getBaseContext(), MyApplication.getMyAppContext().getResources().getString(R.string.toast_no_intent_app_chooser),Toast.LENGTH_SHORT).show();
    }
}

1 ответ

В конце концов я обнаружил ошибку, это происходит из-за типа mime, который я использовал для файлов 3gp, ведь это в основном видео контейнеры, поэтому мне пришлось использовать либо audio/*, либо video / 3gp.

audio/* решил мою проблему, и теперь намерение представить пользователю выбор.

Другие вопросы по тегам