Hoy he actualizado mi Android y ahora la aplicación de ajustes no se abre. Puedo acceder a todos los ajustes a través de la función de búsqueda del lanzador, excepto los específicos de Samsung.
Conecté el teléfono a mi PC para ver los registros y aquí está el seguimiento de la pila de logcat:
FATAL EXCEPTION: main
Process: com.android.settings, PID: 17254
java.lang.RuntimeException: Failed to call observer method
at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:226)
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:194)
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:186)
at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:37)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:300)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:339)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)
at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onStart(ObservablePreferenceFragment.java:80)
at com.android.settings.dashboard.DashboardFragment.onStart(DashboardFragment.java:266)
at com.android.settings.homepage.TopLevelSettings.onStart(TopLevelSettings.java:192)
at androidx.fragment.app.Fragment.performStart(Fragment.java:2756)
at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:355)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1192)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1354)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1432)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1495)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2620)
at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2578)
at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:258)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:550)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
at android.app.Activity.performStart(Activity.java:8207)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3806)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.SecurityException:
Failed to find provider com.samsung.android.mobileservice.profileProvider for user 0; expected to find a valid ContentProvider for this authority
at android.os.Parcel.createExceptionOrNull(Parcel.java:2385)
at android.os.Parcel.createException(Parcel.java:2369)
at android.os.Parcel.readException(Parcel.java:2352)
at android.os.Parcel.readException(Parcel.java:2294)
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:1229)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2630)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2618)
at com.samsung.android.settings.homepage.TopLevelSamsungAccountPreferenceController.onStart(TopLevelSamsungAccountPreferenceController.java:95)
at com.android.settingslib.core.lifecycle.Lifecycle.onStart(Lifecycle.java:124)
at com.android.settingslib.core.lifecycle.Lifecycle.access$100(Lifecycle.java:55)
at com.android.settingslib.core.lifecycle.Lifecycle$LifecycleProxy.onLifecycleEvent(Lifecycle.java:222)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:222)
... 36 more
Caused by: android.os.RemoteException: Remote stack zrace:
at com.android.server.content.ContentService.registerContentObserver(ContentService.java:388)
at android.content.IContentService$Stub.onTransact(IContentService.java:482)
at android.os.Binder.execTransactInternal(Binder.java:1190)
at android.os.Binder.execTransact(Binder.java:1159)
Así que la parte relevante parece ser:
Caused by: java.lang.SecurityException:
Failed to find provider com.samsung.android.mobileservice.profileProvider for user 0; expected to find a valid ContentProvider for this authority
Lo que he probado hasta ahora:
- Reiniciar el teléfono
- Reinicia el teléfono en modo seguro
- Reinstalar el servicio Samsung Experience
- Reinstalar com.Android.settings
- Reinstalar com.samsung.Android.mobileservice
Creo que como hay ajustes relacionados con Samsung en el menú principal de ajustes, provoca un fallo. Alguna idea de cómo recuperar los ajustes?
PD: Por favor, no sugiera un restablecimiento de fábrica. Eso es causa de otro dolor de cabeza.
PPS: Anteriormente, había desinstalado el bloatware de Samsung a través de "adb shell". Pero eso nunca había causado problemas. Así que tal vez ahora un paquete que falta podría ser el culpable?