Created
March 20, 2014 00:45
-
-
Save jacksonfdam/9654991 to your computer and use it in GitHub Desktop.
Verificando a Bateria
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public float getBatteryLevel() { | |
Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); | |
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); | |
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); | |
// Error checking that probably isn't needed but I added just in case. | |
if(level == -1 || scale == -1) { | |
return 50.0f; | |
} | |
return ((float)level / (float)scale) * 100.0f; | |
} | |
@Override | |
public void onCreate() { | |
BroadcastReceiver batteryReceiver = new BroadcastReceiver() { | |
int scale = -1; | |
int level = -1; | |
int voltage = -1; | |
int temp = -1; | |
@Override | |
public void onReceive(Context context, Intent intent) { | |
level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); | |
scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); | |
temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1); | |
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1); | |
Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage); | |
} | |
}; | |
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); | |
registerReceiver(batteryReceiver, filter); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<LinearLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
android:orientation="vertical" | |
android:layout_width="fill_parent" | |
android:layout_height="fill_parent"> | |
<TextView | |
android:id="@+id/batteryLevel" | |
android:layout_width="fill_parent" | |
android:layout_height="fill_parent" | |
android:gravity="center_vertical|center_horizontal" | |
android:textSize="50dip"> | |
</TextView> | |
</LinearLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.targettrust.battery; | |
import android.app.Activity; | |
import android.content.BroadcastReceiver; | |
import android.content.Context; | |
import android.content.Intent; | |
import android.content.IntentFilter; | |
import android.os.BatteryManager; | |
import android.os.Bundle; | |
import android.widget.ImageView; | |
import android.widget.TextView; | |
public class BatteryInformation extends Activity { | |
private TextView batteryInfo; | |
private ImageView imageBatteryState; | |
/** Called when the activity is first created. */ | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.main); | |
batteryInfo=(TextView)findViewById(R.id.textViewBatteryInfo); | |
imageBatteryState=(ImageView)findViewById(R.id.imageViewBatteryState); | |
this.registerReceiver(this.batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); | |
} | |
private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver() { | |
@Override | |
public void onReceive(Context context, Intent intent) { | |
int health= intent.getIntExtra(BatteryManager.EXTRA_HEALTH,0); | |
int icon_small= intent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL,0); | |
int level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0); | |
int plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0); | |
boolean present= intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT); | |
int scale= intent.getIntExtra(BatteryManager.EXTRA_SCALE,0); | |
int status= intent.getIntExtra(BatteryManager.EXTRA_STATUS,0); | |
String technology= intent.getExtras().getString(BatteryManager.EXTRA_TECHNOLOGY); | |
int temperature= intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,0); | |
int voltage= intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE,0); | |
batteryInfo.setText( | |
"Health: "+health+"\n"+ | |
"Icon Small:"+icon_small+"\n"+ | |
"Level: "+level+"\n"+ | |
"Plugged: "+plugged+"\n"+ | |
"Present: "+present+"\n"+ | |
"Scale: "+scale+"\n"+ | |
"Status: "+status+"\n"+ | |
"Technology: "+technology+"\n"+ | |
"Temperature: "+temperature+"\n"+ | |
"Voltage: "+voltage+"\n"); | |
imageBatteryState.setImageResource(icon_small); | |
} | |
}; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.targettrust.battery; | |
import android.app.Activity; | |
import android.content.BroadcastReceiver; | |
import android.content.Context; | |
import android.content.Intent; | |
import android.content.IntentFilter; | |
import android.os.Bundle; | |
import android.widget.TextView; | |
public class BatteryLevelActivity extends Activity { | |
private TextView batterLevel; | |
@Override | |
public void onCreate(Bundle icicle) { | |
super.onCreate(icicle); | |
setContentView(R.layout.main); | |
batterLevel = (TextView) this.findViewById(R.id.batteryLevel); | |
batteryLevel(); | |
} | |
private void batteryLevel() { | |
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; | |
} | |
batterLevel.setText("Battery Level Remaining: " + level + "%"); | |
} | |
}; | |
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); | |
registerReceiver(batteryLevelReceiver, batteryLevelFilter); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment