我有这套代码可以在我拥有的每台Android设备上完美运行....除了三星Galaxy Tab 10.1(图)。此代码旨在将日志文件发送给我以进行调试。
当我尝试将文件共享到Gmail时,它说“无法附加文件”
当我尝试与之分享时,Google云端硬盘崩溃了。
Superbeam说你试图附加的文件不存在。
通过蓝牙共享失败
public static void sendLogs(Context ctx) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { ctx.getString(R.string.logs_email_receiver) });
intent.putExtra(Intent.EXTRA_SUBJECT, ctx.getString(R.string.logs_email_title));
Uri fileUri = FileProvider.getUriForFile(ctx, "com.app.test", getFile(ctx));
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
ctx.startActivity(Intent.createChooser(intent, ctx.getString(R.string.logs_chooser_title)));
}
private static File getFile(Context ctx) {
return new File(ctx.getFilesDir(), log_name);
}
我觉得这是一个三星的错误,但文件Uri是相同的。自API 1以来,这些标志都存在,我不知道它还能是什么。