Что я пытаюсь передать файл через Bluetooth. Я попытался использовать два метода, чтобы передать имя файла в ACTION_SEND
. share
активность всплывает, и когда я касаюсь подключенного устройства Bluetooth, я получаю тост, говорящий Bluetooth share: File Unknown file not sent
. Оба метода терпят неудачу.Поделиться файлом по bluetooth opp в Android N
public void pushFileOverOpp(String filename) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setPackage("com.android.bluetooth");
intent.setType("audio/mp3");
File f = new File(Environment.getExternalStorageDirectory(), "images");
File sample = new File(f, "sample.mp3");
Uri u = Uri.parse(sample.toString());
intent.putExtra(Intent.EXTRA_STREAM, u);
mContext.startActivity(intent);
}
Ошибка, Log-
OppService: URI: /storage/emulated/0/images/sample.mp3 OppService: ПОДСКАЗКА: нулевой OppService: FILENAME: нулевой OppService: MIMETYPE: аудио/mp3
File f = new File(mContext.getFilesDir(), "images");
File sample = new File(f, "sample.mp3");
Uri u = FileProvider.getUriForFile(mContext,
BuildConfig.APPLICATION_ID + ".provider", sample);
intent.putExtra(Intent.EXTRA_STREAM, u);
Ошибка, Log-
OppService: URI: Содержание: //com.example.com.test.provider/tester/images/sample.mp3 OppService: ПОДСКАЗКА: нулевой OppService: FILENAME: нулевой
Я проверил исходный код Android, Эта ошибка возникает, когда имя файла равно null. Log также говорит, что имя файла равно null. Но я не мог точно определить причину. Может кто-то, пожалуйста, помогите мне здесь, что не так с моим кодом.
Если у вас есть сомнения, обратитесь с запросом. –
Спасибо, Но это не будет работать на SDK версии 24 или выше. Вот почему я поставил Android N в вопрос. Две проблемы с вышеуказанным кодом - 'java.lang.ClassCastException: java.util.ArrayList нельзя отбрасывать на android.os.Parcelable' - передать parcellable isntead arraylist. Next 'Caused by: android.os.FileUriExposedException:' - мы не можем использовать 'Uri.fromFile'. :( – Rilwan