【发布时间】:2021-08-05 12:27:34
【问题描述】:
用户点击继续按钮后,应该会出现一个对话框(“正在更新您的个人资料...”)并且用户应该被引导到 MainActivity。但是当我单击继续时,会出现对话框并且不会消失,并且不会将用户带到 MainActivity。尽我所能,我能理解的 logcat 中没有错误!这段代码哪里出错了?
binding.continueBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = binding.nameBox.getText().toString();
String userbio = binding.bioBox.getText().toString();
if (name.isEmpty())
{
binding.nameBox.setError("Please enter your name");
return;
}
dialog.show();
if(selectedImage != null && FirebaseAuth.getInstance().getCurrentUser() != null)
{
StorageReference reference = storage.getReference().child("Profile_Pictures")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid());
reference.putFile(selectedImage).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if (task.isSuccessful()){
reference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String imageUrl = uri.toString();
String uid = auth.getUid();
String phone = FirebaseAuth.getInstance().getCurrentUser().getPhoneNumber();
String name = binding.nameBox.getText().toString();
String email = getIntent().getStringExtra("email");
String password = getIntent().getStringExtra("password");
String userbio = binding.bioBox.getText().toString();
User user = new User(uid, name, phone, imageUrl , email , password, userbio);
if (uid != null) {
database.getReference()
.child("Users")
.child(uid)
.setValue(user)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
dialog.dismiss();
Intent intent = new Intent(SetupProfileActivity.this , MainActivity.class);
startActivity(intent);
finish();
}
});
}}
});
}
}
});
} else {
String uid = FirebaseAuth.getInstance().getUid();
String phone = FirebaseAuth.getInstance().getCurrentUser().getPhoneNumber();
String email = getIntent().getStringExtra("email");
String password = getIntent().getStringExtra("password");
User user = new User(uid, name, phone, "No Image Selected" , email , password, userbio );
if (uid != null) {
database.getReference()
.child("Users")
.child(uid)
.setValue(user)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
dialog.dismiss();
Intent intent = new Intent(SetupProfileActivity.this , MainActivity.class);
startActivity(intent);
finish();
}
});
}}
}
});
LOGCAT:
java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[zip file "/system/app/VivoCalendar/VivoCalendar.apk"],nativeLibraryDirectories=[/system/app/VivoCalendar/lib/arm64, /system/app/VivoCalendar/VivoCalendar.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64, /system/lib64, /system/system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.LoadedApk.createAppFactory(LoadedApk.java:275)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:920)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:973)
at android.app.LoadedApk.getResources(LoadedApk.java:1205)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2720)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2712)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7078)
at android.app.ActivityThread.access$1500(ActivityThread.java:269)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
java.util.concurrent.CancellationException: Task was cancelled.
at com.google.common.w.a.d.s(SourceFile:3)
at com.google.common.w.a.d.get(SourceFile:4)
at com.google.common.w.a.dv.a(SourceFile:1)
at com.google.common.w.a.cb.q(SourceFile:2)
at com.google.common.w.a.bv.run(SourceFile:4)
at com.google.android.apps.gsa.shared.util.c.a.aq.run(SourceFile:1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
2021-08-05 17:22:41.771 32609-32609/? E/oid.documentsu: No package ID ff found for ID 0xffffffff.
2021-08-05 17:22:41.943 32609-32609/? E/oid.documentsu: No package ID ff found for ID 0xffffffff.
2021-08-05 17:22:43.086 32272-32272/com.example.chatterapp E/ion: ioctl c0044901 failed with code -1: Invalid argument
java.io.IOException: com.linkedin.data.lite.DataReaderException: Cache miss for: voyager.android.infra-perform-unbind-in-bind-with-payload
at com.linkedin.android.lixclient.LixDiskCache.get(LixDiskCache.java:149)
at com.linkedin.android.lixclient.LixCacheManager.get(LixCacheManager.java:96)
at com.linkedin.android.lixclient.LixManagerImpl.getTreatmentWithOptionalTracking(LixManagerImpl.java:227)
at com.linkedin.android.lixclient.LixManagerImpl.getTreatment(LixManagerImpl.java:203)
at com.linkedin.android.infra.lix.LixDefinitionHelper.getLixTreatment(LixDefinitionHelper.java:157)
at com.linkedin.android.infra.lix.LixDefinitionHelper.isEnabled(LixDefinitionHelper.java:31)
at com.linkedin.android.app.LaunchManagerImpl.setupInfraLixes(LaunchManagerImpl.java:620)
at com.linkedin.android.app.LaunchManagerImpl.onAppProcessStarted(LaunchManagerImpl.java:342)
at com.linkedin.android.app.FlagshipApplication.onCreate(FlagshipApplication.java:305)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1242)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7218)
at android.app.ActivityThread.access$1500(ActivityThread.java:269)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
Caused by: com.linkedin.data.lite.DataReaderException: Cache miss for: voyager.android.infra-perform-unbind-in-bind-with-payload
at com.linkedin.android.fission.FissionProtobufDataReader.parseDataTemplate(FissionProtobufDataReader.java:116)
at com.linkedin.android.fission.FissionProtobufDataReader.parseRecord(FissionProtobufDataReader.java:81)
at com.linkedin.android.lixclient.LixDiskCache.get(LixDiskCache.java:147)
at com.linkedin.android.lixclient.LixCacheManager.get(LixCacheManager.java:96)
at com.linkedin.android.lixclient.LixManagerImpl.getTreatmentWithOptionalTracking(LixManagerImpl.java:227)
at com.linkedin.android.lixclient.LixManagerImpl.getTreatment(LixManagerImpl.java:203)
at com.linkedin.android.infra.lix.LixDefinitionHelper.getLixTreatment(LixDefinitionHelper.java:157)
at com.linkedin.android.infra.lix.LixDefinitionHelper.isEnabled(LixDefinitionHelper.java:31)
at com.linkedin.android.app.LaunchManagerImpl.setupInfraLixes(LaunchManagerImpl.java:620)
at com.linkedin.android.app.LaunchManagerImpl.onAppProcessStarted(LaunchManagerImpl.java:342)
at com.linkedin.android.app.FlagshipApplication.onCreate(FlagshipApplication.java:305)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1242)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7218)
at android.app.ActivityThread.access$1500(ActivityThread.java:269)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:257)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
com.google.android.gms.auth.UserRecoverableAuthException: BadAuthentication
at lqn.f(PG:16)
at lqj.a(Unknown Source:12)
at lqn.h(PG:5)
at lqn.g(PG:28)
at qdn.a(PG:13)
at qdl.h(PG:2)
at pvs.h(PG:11)
at pxq.a(PG:3)
at pxn.e(PG:6)
at psn.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
【问题讨论】:
标签: java android firebase firebase-authentication