我试图将从相机捕获的图像存储到公共存储目录,这是我存储图像的代码部分:
protected File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
return image;
}
Run Code Online (Sandbox Code Playgroud)
它在大多数设备上工作正常,但在某些设备中我得到了
java.io.IOException:open failed:ENOENT(没有这样的文件或目录)
所以我的问题是为什么同一段代码在大多数设备中工作正常,为什么不在某些设备中以及如何解决这个问题呢?
我是第一次使用firebase,阅读firebase的离线功能,测试了两种情况:
方案1(工作):
离线模式,将数据写入firebase数据库.
按下后退按钮(关闭应用程序)
方案2(不工作):
我添加了这一行:
Firebase.getDefaultConfig().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)
如何处理方案2?我是否需要通过本地数据库处理这种情况?
我正在开发一个Android应用程序,我只想在不创建用户帐户的情况下验证手机号码.可能吗?我使用以下代码
private void startPhoneNumberVerification(String phoneNumber) {
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber, // Phone number to verify
60, // Timeout duration
TimeUnit.SECONDS, // Unit of timeout
this, // Activity (for callback binding)
mCallbacks); // OnVerificationStateChangedCallbacks
}
private void verifyPhoneNumberWithCode(String verificationId, String code) {
PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, code);
signInWithPhoneAuthCredential(credential); // this function is creating user account , if not present. But We Don't want this
}
Run Code Online (Sandbox Code Playgroud)
如果用户帐户不存在,以下功能将创建用户帐户,但我不想创建帐户,我只想验证用户输入的代码.有没有可用的回叫方法?
private void signInWithPhoneAuthCredential(final PhoneAuthCredential credential) {
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) …Run Code Online (Sandbox Code Playgroud)