问题描述
在我的 Android Java 应用程序中,我创建了一个 txt 文件,我可以共享它。但是我想在用户单击按钮时这样做,开始下载我的应用程序中的那个 txt 文件。我怎样才能做到这一点。 谢谢
public void backupPhone(){
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_YEAR);
int month = calendar.get(Calendar.MONTH)+1;
int year = calendar.get(Calendar.YEAR);
String fileName = "StockProgramDatas-"+day+"-"+month+"-"+year+".txt";
//String fileName = "StockProgramDatas.txt";
String filePath = "StockDatas";
if (!isExternalStorageAvaibleForRW()){
Toast.makeText(MainActivity.this,getResources().getString(R.string.main_activity_backup_permission),Toast.LENGTH_SHORT).show();
}
try {
File myExternalFile = new File(getExternalFilesDir(filePath),fileName);
FileOutputStream fos = new FileOutputStream(myExternalFile);
OutputStreamWriter writer = new OutputStreamWriter(fos);
for (Products p: productsArrayList) {
writer.write(p.getProduct_name()+"-"+p.getProduct_brand()+"-"+
p.getProduct_color()+"-"+p.getProduct_amount()+"-"+p.getProduct_sold()+"\n");
}
writer.close();
Intent intentShare = new Intent(Intent.ACTION_SEND);
intentShare.putExtra(Intent.EXTRA_TEXT,"Database Backup "+day+"/"+
month+"/"+year);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.N){
Uri uri = FileProvider.getUriForFile(MainActivity.this,"com.nczsoftware.simplestockprogram",myExternalFile);
intentShare.putExtra(Intent.EXTRA_STREAM,uri);
}else {
intentShare.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(myExternalFile));
}
intentShare.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intentShare.setType("txt/*");
startActivity(Intent.createChooser(intentShare,getResources().getString(R.string.main_activity_backup_share)));
}catch (Exception e){
Log.e("hata",String.valueOf(e));
Toast.makeText(MainActivity.this,getResources().getString(R.string.main_activity_backup_permission_file)+e,Toast.LENGTH_LONG).show();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)