BatteryInfo.java :  » Widget » android-batteryinfo-widget » com » magic » king » batterInfo » Android Open Source

Android Open Source » Widget » android batteryinfo widget 
android batteryinfo widget » com » magic » king » batterInfo » BatteryInfo.java
/**
 *
 * Copyright 2011 TeleNav, Inc. All rights reserved.
 * BatteryInfo.java
 *
 */
package com.magic.king.batterInfo;

import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.util.Log;

/**
 *@author jshjin (jshjin@telenav.cn)
 *@date 2011-2-16
 */
public class BatteryInfo extends Application
{
    public void onCreate() 
    {
        Log.i("start applcation jjs", "jjs");
        this.getInfo(this);
    }
    
    private void getInfo(Context context)
    {
        BroadcastReceiver receiver = new BroadcastReceiver()
        {
            public void onReceive(Context context, Intent intent)
            {
                if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED))
                {
                    Log.i("statue = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_STATUS));
                    Log.i("health = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_HEALTH));
                    Log.i("level = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_LEVEL));
                    Log.i("temp = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_TEMPERATURE));
                    Log.i("temp = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_VOLTAGE));
                    Log.i("power = ", "" + intent.getExtras().getInt(BatteryManager.EXTRA_PLUGGED));
                    Log.i("tech = ", "" + intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY));
                }
            }
        };
        
        int batteryLevel = -1;
        context.registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

        long time = System.currentTimeMillis();
        while (batteryLevel == -1 && (System.currentTimeMillis() - time) < 2000)
        {
            try
            {
                Thread.sleep(50);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
        }

        context.unregisterReceiver(receiver);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.