小编alk*_*wal的帖子

为什么Environment.getExternalStoragePublicDirectory在某些设备中不起作用(自2011年初开始特别制造)?

我试图将从相机捕获的图像存储到公共存储目录,这是我存储图像的代码部分:

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(没有这样的文件或目录)

所以我的问题是为什么同一段代码在大多数设备中工作正常,为什么不在某些设备中以及如何解决这个问题呢?

storage android file

5
推荐指数
1
解决办法
6764
查看次数

如何在Android应用程序被杀死时处理脱机firebase数据库?

我是第一次使用firebase,阅读firebase的离线功能,测试了两种情况:

方案1(工作):

  1. 离线模式,将数据写入firebase数据库.

  2. 按下后退按钮(关闭应用程序)

  3. 上线后,数据被添加到firebase数据库中.

方案2(不工作):

  1. 离线模式,将数据写入firebase数据库
  2. 关闭应用程序
  3. 从后台删除应用程序(杀死应用程序)
  4. 上线,数据没有添加

我添加了这一行:

Firebase.getDefaultConfig().setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud)

如何处理方案2?我是否需要通过本地数据库处理这种情况?

android firebase firebase-realtime-database

5
推荐指数
1
解决办法
2242
查看次数

适用于Android的Firebase手机Auth,我们是否可以在不创建用户帐户的情况下验证电话号码

我正在开发一个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)

android firebase firebase-authentication

5
推荐指数
2
解决办法
1759
查看次数