为用户创建凭证credentials <2>
环境:mac os & android studio
参考:here
一、初始工作
查看上一篇文章:here
二、创建credentials
String filePath = Environment.getExternalStorageDirectory().toString() + "/Pictures";
String fileName = WalletUtils.generateNewWalletFile("password",new File(filePath),false);
Credentials credentials = WalletUtils.loadCredentials("password", filePath+"/"+fileName);
//"password" -> 输入你的密码
//这样就可以创建一个凭证
但是你会遇到问题:
/storage/emulated/0/Pictures/UTC--2017--11-28....json(Permission denied)"
解决办法:
加上权限:
<!-- SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 向SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但可能还是失败,不要慌,在创建凭证前加上一段:
int REQUEST_EXTERNAL_STORAGE = 1;
String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
int permission = ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
f (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the use