2010-02-15 19 views

risposta

3
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() { 
     public void onReceive(Context context, Intent intent) { 
      context.unregisterReceiver(this); 
      int rawlevel = intent.getIntExtra("level", -1); 
      int scale = intent.getIntExtra("scale", -1); 
      int level = -1; 
      if (rawlevel >= 0 && scale > 0) { 
       level = (rawlevel * 100)/scale; /* This is your battery level */ 
      } 
     } 
    }; 
    IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
    registerReceiver(batteryLevelReceiver, batteryLevelFilter); 
} 

o controllare questo ragazzo (che ha scritto il codice che ho postato): http://mihaifonoage.blogspot.com/2010/02/getting-battery-level-in-android-using.html

3

È this di alcun aiuto?

public class Main extends Activity { 
    private TextView contentTxt; 
    private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){ 
     @Override 
     public void onReceive(Context arg0, Intent intent) { 
     // TODO Auto-generated method stub 
     int level = intent.getIntExtra("level", 0); 
     contentTxt.setText(String.valueOf(level) + "%"); 
     } 
    }; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 
     contentTxt = (TextView) this.findViewById(R.id.monospaceTxt); 
     this.registerReceiver(this.mBatInfoReceiver, 
     new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 
    } 
} 

Vedere anche this.

Problemi correlati