我想从 Firebase 获取 OTP 到我的手机以进行验证,我已经按照文档所述完成了所有操作,但最后我没有得到 OTP 请帮助我,我知道我的代码有问题,任何人都可以纠正我吗?我的应用程序已连接并使用 firebase 这是我的活动 java 代码:public class LoginActivity extends AppCompatActivity {String phone_number;FirebaseAuth auth;PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mCallbacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks(){ @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { } @Override public void onVerificationFailed(FirebaseException e) { } }; CardView card_view = findViewById(R.id.cardView); card_view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditText phonetextview = findViewById(R.id.phonetextview); phone_number = PhoneNumberUtils.formatNumber(phonetextview.getText().toString()); send(); Toast toast = Toast.makeText(getApplicationContext(), phone_number, Toast.LENGTH_SHORT); toast.show(); } });}private void send() { PhoneAuthProvider.getInstance().verifyPhoneNumber( phone_number, // Phone number to verify 60, // Timeout duration TimeUnit.SECONDS, // Unit of timeout this, // Activity (for callback binding) mCallbacks); // ForceResendingToken from callbacks }}
2 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
您需要intialize firebase在使用它之前。为此创建一个Application类 .ie :
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseApp.initializeApp(this);//here we are intializing firebase
}
}
也不要忘记将此添加到您的AndroidManifest.xml:
<application
android:name="yourPackage.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/route"
android:theme="@style/AppTheme">
<!--your activity classes-->
<activity
android:name=".YourActivity"
>
</application>
繁花如伊
TA贡献2012条经验 获得超12个赞
确保您不在模拟器上,然后确保您已将有效的 SHA-1 密钥添加到 Firebase 控制台。
试试这个来检查你得到了什么错误
@Override public void onVerificationFailed(FirebaseException e) { e.printStackTrace(); }
添加回答
举报
0/150
提交
取消