widgets tipos studio mejores gratis best android android-widget

mejores - tipos de widgets android studio



¿Cómo corregir el error “el proceso es malo” para un widget de Android? (12)

He desarrollado un widget para Android, y estaba funcionando bien. Agregué algunas funciones adicionales y puse una actualización en el Android Market. Ahora la gente se queja de que ya no funciona.

El error que veo en los registros es:

07-14 10:33:44.016: WARN/ActivityManager(78): Unable to launch app ... for broadcast Intent { act=android.appwidget.action.APPWIDGET_ENABLED cmp=... }: process is bad 07-14 10:33:44.026: WARN/ActivityManager(78): finishReceiver called but none active 07-14 10:33:44.026: WARN/ActivityManager(78): Unable to launch app ... for broadcast Intent { act=android.appwidget.action.APPWIDGET_UPDATE cmp=... (has extras) }: process is bad 07-14 10:33:44.036: WARN/ActivityManager(78): finishReceiver called but none active

He buscado, pero no puedo encontrar en ningún lugar lo que significa el error del proceso, por lo que no tengo ni idea de cómo solucionarlo. Reiniciar el teléfono (o el emulador) hace que el error desaparezca, sin embargo, eso no es lo que quiero que hagan mis usuarios. ¿Podría alguien ayudarme a explicar cuál es la causa del error y cómo solucionarlo?


Acabo de experimentar esto justo antes de empacar para el mercado. Seguí las pautas y agregué el atributo android: label = "@ string / app_name" al elemento de la aplicación en mi manifiesto ...

  1. Desinstala tu aplicación
  2. Reiniciar teléfono / emulador
  3. Empuje nueva aplicación sin este atributo

¡Viola! Funciona para mí ahora!

EDIT: para hacer coincidir los comentarios.


Acabo de recibir este error. Arreglo el error y OnConnectionReceiver.onReceiver() algo del código fuente que invoca desde OnConnectionReceiver.onReceiver() . Tal vez la invocación cueste algún tiempo.


Algo fuera de tema, pero en algunos dispositivos Android, uno puede causar esta falla de manera reproducible al escribir una aplicación que crea un UncaughtExceptionHandler onCreate en onCreate para reiniciar la aplicación después de un bloqueo, y luego hace algo para causar una excepción no controlada (ya sea lanzar una RuntimeException o hacer algo que cause una NullPointerException , o lo que sea). Un código de ejemplo se da a continuación.

He intentado esto en dos dispositivos: un Samsung Galaxy Tab 2 y un Verizon Ellipsis 7. Con el Tab 2, no pude causar el problema mientras ejecutaba la aplicación desde Eclipse: se bloquearía y reiniciaría repetidamente y nunca ser asesinado. En su lugar, tuve que exportar la aplicación a apk, instalarla a través de adb, iniciar la aplicación y, después de 4-8 bloqueos y reinicios, Android mataría la aplicación con el mensaje de error anterior (el Process com.buggy.app has crashed too many times: killing! ).

Con Ellipsis 7, nunca pude reproducir el problema. La aplicación con errores se bloqueaba y se reiniciaba repetidamente, y el sistema operativo nunca la eliminó, incluso después de 10 minutos de esto.

Código de muestra para la aplicación repetidamente fallando:

public void onCreate(Bundle savedInstanceState) { mContext = this.getApplicationContext(); UncaughtExceptionHandler uehandler = new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, Throwable ex) { // restart app after 100 milliseconds PendingIntent myActivity = PendingIntent.getActivity(mContext, 0, new Intent(mContext, MyActivity.class), PendingIntent.FLAG_ONE_SHOT); AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 100, myActivity); System.exit(2); // re-throw critical exception further to the os (important) Thread.getDefaultUncaughtExceptionHandler().uncaughtException(thread, ex); } }; Thread.setDefaultUncaughtExceptionHandler(uehandler); throw new RuntimeException("Crash the app!"); }


El problema para mí también tenía que ver con el XML, específicamente tenía un elemento TextView que no especificaba layout_width y layout_height porque estaban heredando un estilo que no los contenía. Mi archivo styles.xml no fue validado para esto por eclipse. Cuando ejecuté la aplicación, recibí el error de que estas vistas debían especificarse. Cuando solucioné el error, recibí que el process is bad y tuve que forzar el cierre.

Desafortunadamente, creo que se mantuvieron algunas configuraciones, por lo que la reconstrucción de la aplicación no fue suficiente después de la corrección. Tuve que desinstalar la aplicación: reiniciar el teléfono (para eliminar algunos datos persistentes) y cuando reinstalé me ​​recuperé del error.


Estoy teniendo el mismo problema y mi teoría actual es que el appWidget se bloqueó y cuando se reinició tenía los mismos datos persistentes que lo hacían fallar cada vez que se reiniciaba. Cuando esto sucede con demasiada frecuencia, el sistema operativo "apaga" el appWidget. Mi curita es tener un evento táctil que es "setOnClickPending" que el usuario tocará (por frustración si es necesario) y que se procesará de manera interna al appWidget y reiniciará el appWidget.


Me di cuenta de que un process is bad error process is bad en mi HTC Sensation OS 2.3.4 después de quitar el permiso de INTERNET de mi AndroidManifest.xml.

W / ActivityManager (253): no se puede iniciar la aplicación MY_DOMAIN.flashback / 10132 para Intención de difusión {act = android.intent.action.PHONE_STATE flg = 0x20000000 (tiene extras)}: el proceso es incorrecto

Probé con cuidado un montón de soluciones alternativas, y encontré que la única forma de solucionarlo era:

  • Desinstala la aplicación a través de Configuración -> Aplicaciones.
  • Retire la batería del teléfono ( no funcionó el menú "Apagar" de Android).
  • Encienda el dispositivo de nuevo.
  • Instale el APK nuevamente usando adb install <myapp> .

Quiero aprovechar esta oportunidad para enumerar lo que NO me funcionó (ya que a FUD le parece que no puedo solucionar este error):

  • Desinstale la aplicación, reinicie usando el menú del teléfono Android (mantenga presionado el botón y seleccione "Apagar"), encienda nuevamente, vuelva a instalar.
  • Desinstale, use adb kill-server , luego adb start-server , reinstale.
  • Desinstale, ejecute adb shell luego ps , esto no mostró mi aplicación ejecutándose en absoluto.
  • Desinstalar, hacer una compilación limpia en Eclipse, reinstalar.

Me pregunto si el problema subyacente se debió a que mi aplicación se hizo más pequeña. Creo que solía desempaquetar a flashback-1.apk y flashback-2.apk en el dispositivo, mientras que ahora solo se está desempaquetando en un solo flashback-1.apk .


Me enfrenté a este problema. el motivo fue que la llamada WLAN wifi.getConnectionInfo (). getScanResults (); podría devolver un nulo en lugar de una lista vacía en algunas ocasiones. Encontré esto después de registrar el logcat durante varias horas. Cuando la aplicación encontró un error y se bloqueó, un toque en el widget me daría el mismo error de "proceso incorrecto" que menciona aquí, ya que la intención no volvió a abrir la aplicación, pero se atasca en un estado bloqueado. Supongo que es la forma en que Android trata con un widget estrellado.


Me enfrenté a un problema similar. Cuando revisé mi código, me di cuenta de que eran los valores predeterminados los que eran los culpables. Asegúrese de que sus valores predeterminados sean lógicos y positivos. Por ejemplo, si tiene un servicio en segundo plano que comienza en un intervalo particular, asegúrese de que el valor predeterminado que ha establecido para el mismo sea el adecuado.


Me pasó cuando mi BroadcastReceiver repetidamente filtraba una excepción que causaba que el sistema matara mi aplicación. Las siguientes llamadas al receptor darán como resultado que los registros de "proceso es malo".

La solución en mi caso fue asegurarse de que no se escapen excepciones del BroadcastReceiver.

Esos son los registros cuando se mata la aplicación (intente buscarlos y encontrar la causa):

W/ActivityManager﹕ Process com.company.app has crashed too many times: killing! I/ActivityManager﹕ Killing proc 9344:com.company.app/u0a10239: crash


Tengo el mío arreglado así:

Desinstala la aplicación y vuelve a instalarla.

Recibí este error cuando instalé una aplicación de "prueba" con el mismo nombre de paquete y desordené algo en los datos de la caché de la aplicación o en algún lugar.


Tuve el mismo problema con mi proyecto. Creo que vale la pena señalar que podría solucionar este problema mágicamente simplemente eliminando algunas líneas nuevas de mi código en Eclipse. Como ejemplo cambié el siguiente código,

Intent clickIntent = new Intent(this.getApplicationContext(), MyWidgetProvider.class);

a

Intent clickIntent = new Intent(this.getApplicationContext(),MyWidgetProvider.class);


Yo tuve el mismo problema. Llegué a un punto en el que reiniciar y reinstalar la aplicación no resolvió el problema. Yo estaba frustrado. Quité todo de la clase que extendió AppWidgetProvider y ejecuté la aplicación con solo dos métodos vacíos: onUpdate y onReceive. Finalmente resolvió el problema.

Tal vez no resuelva el tuyo, pero quién sabe. Darle una oportunidad.