Android saveToGallery SQLiteDatabase:插入bucket\u id时出错
我无法保存图表。我从Android saveToGallery SQLiteDatabase:插入bucket\u id时出错,android,mpandroidchart,Android,Mpandroidchart,我无法保存图表。我从saveToGallery中得到错误的返回值,我在日志中看到的是: SQLiteDatabase:插入bucket时出错\u id=-207581635 date\u modified=1544882049 is\u hw\u burst=0 datetake=1 544882049000 bucket\u display\u name=DCIM parent=8 format=14337 storage\u id=65537 media\u type=1 mime\u ty
saveToGallery
中得到错误的返回值,我在日志中看到的是:
SQLiteDatabase:插入bucket时出错\u id=-207581635 date\u modified=1544882049 is\u hw\u burst=0 datetake=1 544882049000 bucket\u display\u name=DCIM parent=8 format=14337 storage\u id=65537 media\u type=1 mime\u type=image/jpeg title=chart.jpg d description=MPAndroidChart Library Save\u data=/storage/simulated/0/DCIM/chart.jpg\u size=33015添加日期=1544882049显示名称=chart.jpg方向=0
我拥有清单中的所有权限,并且还授予了运行时
权限。
根本原因是什么
这是我在运行时用于验证的方法
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
这用于保存图表:
case R.id.fab_save:
boolean saved = lineChart.saveToGallery(file_name,100);
Toast.makeText(getApplicationContext(),"File saved "+saved, Toast.LENGTH_LONG ).show();
break;
问题在于文件名的唯一性。例如,它可以是:
`Long tsLong = System.currentTimeMillis()/1000;
String ts = tsLong.toString();
boolean saved = lineChart.saveToGallery(file_name+ts,100);`