내 프로젝트에서 충전 중 배터리 상태를 듣고/수신하지 않고 각 옵션에서 축배를 던지는 브로드 캐스트 수신기를 사용하려고합니다. 앱에서 충전기 상태가 변경 될 때마다 앱이 다운됩니다. 는 (내가 시작하면 충전기와 응용 프로그램은 나에게 바로 토스트 을 보여이다 연결하지만 난 전화를 응용 프로그램 충돌을 uncharge 경우) 여기에 내가 보내고있어 사전에 감사BroadCast Receiver 배터리 상태 오류
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = this.registerReceiver(null, ifilter);
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
if(isCharging==true){
Toast.makeText(this, "Charging", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this, "Charger not connected", Toast.LENGTH_SHORT).show();
UPDATE 코드를입니다 내가하는 일을 이해하기가 힘듭니다. 나는 나와 함께 환자 수 :
여기내가
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBatteryState(null);
public void checkBatteryState(View sender) {
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, filter);
int chargeState = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
String strState;
switch (chargeState) {
case BatteryManager.BATTERY_STATUS_CHARGING:
case BatteryManager.BATTERY_STATUS_FULL:
strState = "charging";
Toast.makeText(this, strState, Toast.LENGTH_LONG).show();
break;
default:
strState = "not charging";
Toast.makeText(this, strState, Toast.LENGTH_LONG).show();
}
}
}
앱이 다운된다는 것은 무엇을 의미합니까? 무엇이 기록됩니다. 어떤 예외가 주어집니다. 무슨 일이 일어날 것으로 예상됩니까? 질문을 할 때 더 많은 정보를주세요 please – Kon
로그 고양이에 표시된 내용을 실제 전화에 표시 할 수는 없으므로 확인할 수 없습니다. 나는 에뮬레이터를 사용하지 않고있다. (내 Mac에서는 작동하지 않는다.) 충전기가 연결될 때마다 축배를 받고 싶다. –
컴퓨터가 USB 케이블을 통해 컴퓨터에 연결되어 있고 USB 디버깅이 가능하다면 , 당신은 logcat에 물건을 볼 수 있습니다. – vipluv