나는 Android to New B입니다. 나는 다음 코드로 배터리 상태/레벨을 얻을 수 있었다 :배터리 레벨 상태 저장 txt 파일
private void BattStatus() {
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;
}
batteryLevel = level;
BattStatus.setText("Battery Level : " + batteryLevel + "%");
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
}
내가 (스레드를 사용하여) 텍스트 파일에 배터리 잔량을 저장하고 싶습니다. 코드 : 나는 올바른 값을 반환 스레드에서 로그인 기능을 사용하여 테스트 할 때
public final Runnable DBThread = new Runnable() {
String AllInfo = batteryLevel+"%"+" , "+new SimpleDateFormat("HH:mm , dd.MM.yy ").format(new Date());
public void run() {
try {
Log.d("DBThread","Battery :"+batteryLevel);
Log.d("DBThread","Updating DB");
myDbHelper.CreateAndWriteFile(sdDir+"/", AllInfo);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mHandler.postAtTime(this, SystemClock.uptimeMillis() + 2000);
Log.d("DBThread","Updated DB");
Log.d("DBThread",AllInfo);
}
불행하게도 배터리 상태/레벨, 텍스트 파일에 0 %를 반환합니다.
내가 잘못하고있는 일이나 내가하지 않는 일을 알려주는 사람이 친절 할 수도 있으며, 개발에 익숙하지 않은 경우 코드 스 니펫을 제공 할 수도 있습니다. 내 게시물이 잘못된 경우 죄송합니다. 첫 번째 타이머 on Stack Overflow :)
대단히 고마워요!
수신 방법에서이 작업을 수행하는 방법에 대한 간단한 예를 들어 주시겠습니까? – Nequita
나는 run 메소드의 내용을 onReceive 메소드 안에 직접 넣을 것이다. 내 편집보기 – njzk2