2010-09-09 20 views
7

En mi nexo uno, hay una aplicación práctica accesible desde Configuración> Acerca del teléfono> Uso de la batería.Crear "intención de uso de batería" android

Me gustaría StartActivity() esa aplicación de una de mis actividades.

puedo ver en el registro de configuración que cuando lo ejecuta, este intento se registra:

Starting activity: 
    Intent { act=android.intent.action.MAIN 
      cmp=com.android.settings/.fuelgauge.PowerUsageSummary } 

Tengo problemas relativos a que algo en fuente de Android Java. Ni siquiera puedo encontrar "fuelgauge" en la fuente de GIT. ¿Alguien puede indicarme el archivo correcto, o cualquier otra cosa útil, como cómo crear el tipo correcto de intención?

Gracias

Peter

Respuesta

18

Código es el siguiente:

Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY); 
ResolveInfo resolveInfo = getPackageManager().resolveActivity(powerUsageIntent, 0); 
// check that the Battery app exists on this device 
if(resolveInfo != null){ 
    startActivity(powerUsageIntent); 
} 
+0

¿También es posible acceder a las estadísticas de la batería de una sola aplicación? Además, ¿sabes cómo llegar a las estadísticas del uso de datos móviles? –

+0

Lanzar una actividad que muestre las estadísticas de la batería y busque el uso de batería/datos de una aplicación son preguntas muy diferentes. Creo que deberías publicar nuevas preguntas. –

+0

Son, un poco: http://stackoverflow.com/questions/23312038/how-to-get-battery-mobile-data-usage-of-specific-apps. Quería saber cómo obtener esas estadísticas a través de la aplicación, y cuando no encontré suficiente información, pregunté (sobre los comentarios) cómo obtener las intenciones para esas cosas. –

0

Base en el código puñado de @ Chris Lacy, envolví el código de método estático que se llama a abrir esta pantalla :

public static void openBatteryUsagePage(Context ctx){ 
    Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY); 
    ResolveInfo resolveInfo = ctx.getPackageManager().resolveActivity(powerUsageIntent, 0); 
    // check that the Battery app exists on this device 
    if(resolveInfo != null){ 
     ctx.startActivity(powerUsageIntent); 
    } else 
     Toast.makeText(ctx, R.string.not_found, Toast.LENGTH_LONG).show(); 
} 
Cuestiones relacionadas