2011-08-21 9 views
14

Los usuarios de Gingerbread pueden informar aplicaciones para el uso de la batería, yendo a Configuración -> Acerca del teléfono -> Uso de la batería, y luego toque en una aplicación específica.Informe de uso de la batería de Android para desarrolladores

Mi pregunta es, como desarrollador, ¿dónde puedo ver estos informes?

Parecen muy útiles, ya que contienen información sobre qué tipo de bloqueos de activación puede estar perdiendo.

+2

Wake Locks? Utilice 'adb shell dumpsys power' o en dispositivos rooteados, consulte https://market.android.com/details?id=me.kennydude.dev.urlopener&e. Cualquier otra cosa como en la web sería una invasión en la privacidad del usuario:) –

Respuesta

8

Lo siento, no creo que esta información esté actualmente disponible. Se está recopilando, pero en este punto no hay UI para que los desarrolladores lo recuperen. (Esto también se aplica a los informes sobre la ejecución de servicios).

+1

De hecho, no está disponible para desarrolladores; Probé esto la semana pasada escribiendo una aplicación para acaparar CPU, y luego informé sobre el uso de la batería. Vi un informe de ANR que envié en Market Developer Console, pero no el informe de la batería. Ciertamente, esta información sería útil para que los desarrolladores la reciban, para corroborar los comentarios del mercado quejándose del alto uso de la batería y para mejorar sus aplicaciones en general. –

+0

gracias por la respuesta! Espero que en un futuro cercano podamos ver los informes de ambos servicios, wake lock y running services. perdón por la recompensa que estaba fuera del área de internet y no pude iniciar sesión :( – Erdal

+0

han pasado 2 años. ¿Ha cambiado algo? ¿Pueden los desarrolladores medir el impacto del código específico en la batería? –

5

Echa un vistazo PowerUsageSummary y PowerUsageDetail del subdir fuelgauge en el Settings package. Los métodos relevantes son reportBatteryUse() en PowerUsageDetail y processAppUsage() en PowerUsageSummary.

La mayor parte de la información proviene de un objeto mstats que se crea mediante una llamada API interna:

import com.android.internal.os.BatteryStatsImpl; 
... 
mStats = com.android.internal.os.BatteryStatsImpl.CREATOR 
     .createFromParcel(parcel); 
mStats.distributeWorkLocked(BatteryStats.STATS_SINCE_CHARGED); 

Nunca traté de llamar a estos métodos desde su propia aplicación no es del sistema, por lo que tiene que descubrir si funciona.

+0

eso es interesante pero responde una pregunta un poco diferente. Esta es probablemente la forma en que recopilaron esas estadísticas, pero mi pregunta fue, después de que el usuario envía esas estadísticas a Google, ¿hay algún lugar donde nosotros, los desarrolladores puedan verlas? – Erdal

+0

¿Está seguro de que lo que entiende en "informe" sí informa sobre el uso de la batería? ¿No es solo la función del recolector de errores y registro que también aparece en "Forzar cierre" de una aplicación. Estos informes se informan directamente al propietario de la aplicación a través del mercado. – Flow

+1

Estoy bastante seguro de que se trata de datos de uso de la batería porque miré la vista previa de lo que estoy enviando. Puedes probarlo tú mismo si tienes un teléfono con pan de jengibre. – Erdal

Cuestiones relacionadas