以下代码用于在我的应用程序中共享音频,但我从8+以上的人那里获得反馈,当点击它来分享应用日期时
这是我称之为共享课程的地方。
private void sendWhatsAppAudio(int songIndex){
InputStream inputStream;
FileOutputStream fileOutputStream;
try {
inputStream = getResources().openRawResource(arrayAdapter.getItem(songIndex).getResId());
fileOutputStream = new FileOutputStream(
new File(Environment.getExternalStorageDirectory(), arrayAdapter.getItem(songIndex) +".mp3"));
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, length);
}
inputStream.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM,
Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/" + arrayAdapter.getItem(songIndex) +".mp3"));
intent.setType("audio/*");
startActivity(Intent.createChooser(intent, "Quer compartilhar onde pika de foice?"));
}
这是我在whatsapp
中与我的应用共享音频的代码 android.os.FileUriExposedException:
at android.os.StrictMode.onFileUriExposed (StrictMode.java:2235)
at android.net.Uri.checkFileUriExposed (Uri.java:2348)
at android.content.ClipData.prepareToLeaveProcess (ClipData.java:941)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9742)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9748)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9727)
at android.app.Instrumentation.execStartActivity (Instrumentation.java:1611)
at android.app.Activity.startActivityForResult (Activity.java:4513)
at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult (BaseFragmentActivityApi16.java:54)
at android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java:67)
at android.app.Activity.startActivityForResult (Activity.java:4471)
at android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java:732)
at android.app.Activity.startActivity (Activity.java:4832)
at android.app.Activity.startActivity (Activity.java:4800)
at meme.welyson.brasil.brasilmemes.MainActivity.sendWhatsAppAudio (MainActivity.java:1062)
at meme.welyson.brasil.brasilmemes.MainActivity.access$000 (MainActivity.java:38)
at meme.welyson.brasil.brasilmemes.MainActivity$2$1.onClick (MainActivity.java:995)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick (AlertController.java:1176)
at android.widget.AdapterView.performItemClick (AdapterView.java:318)
at android.widget.AbsListView.performItemClick (AbsListView.java:1188)
at android.widget.AbsListView$PerformClick.run (AbsListView.java:3157)
at android.widget.AbsListView$3.run (AbsListView.java:4110)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:169)
at android.app.ActivityThread.main (ActivityThread.java:6595)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)
使用android 8 +
在手机上的firebase控制台中显示的错误日志{{1}}