나는 프로그램을 작성 중이며 광 센서 값과 현재 배터리 레벨을 얻을 수 있지만 빛 값만 변경되고 배터리 레벨이 변경 될 때만 가능합니다. 이 두 값을 언제든지 얻을 수있는 방법이 있습니까? 사용자가 내 프로그램을 실행할 때처럼 현재 값을 변경하기를 기다리지 않고 바로 잡으려고합니다.안드로이드에 대한 빛 센서 값 및 배터리 수준을 얻는 방법?
2
A
답변
2
변경할 때 값을받을 코드가 있으면 변수에 값을 저장할 수 있으며 모든 변경 사항에 대해 setter 메서드로 변수를 업데이트하면됩니다. 그런 다음 언제든지 현재 값이 필요할 때마다 getter 메서드를 사용하여 변수를 호출하면됩니다.
그래서 당신의 방법 당신은 currentl 배터리 수준,rawlevel
을 반환하는 getter 메소드를 가질 수 있습니다이
private void monitorBatteryState() {
BroadcastReceiver battReceiver = 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 status = intent.getIntExtra("status", -1);
int health = intent.getIntExtra("health", -1);
int level = -1; // percentage, or -1 for unknown
if (rawlevel >= 0 && scale > 0) {
level = (rawlevel * 100)/scale;
}
setBatteryLevel(rawlevel); // setter method.
}
}
public void setBatteryLevel(rawlevel) {
batteryLevel = rawlevel;
}
public int getBatteryLevel() {
return rawlevel;
}
처럼 보이는 경우, 당신은 광 센서 값에 대해 동일한 작업을 수행 할 수 있습니다.
0
메인 액티비티에 넣으세요. 이것은 배터리 수준에 대해 다른 사람이 게시 한 것으로 보아서 만 광 센서 값입니다.
SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
Sensor mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
//don't know if you can put lightSensorValue here, if not try adding it as a member field
final int lightSensorValue;
mSensorManager.registerListener(new SensorEventListener()
{
public void onAccuracyChanged(Sensor sensor, int accuracy)
{
//do something when accuracy is changed, you probably don't need this
}
public void onSensorChanged(SensorEvent event)
{
lightSensorValue = event.values[0];
}
}, mLight, SensorManager.SENSOR_DELAY_NORMAL);
편집 : 질문을 다시 읽고 수동으로 언제든지 받으려는 것을 확인하십시오. 이 값은 값이 변경 될 때마다 업데이트되므로 항상 최신 정보를 얻습니다.
지연 변경을 SensorManager.SENSOR_DELAY_FASTEST
으로 설정하면 새로 고침 빈도가 훨씬 빨라집니다.
관련 문제
- 1. 통화 중에 빛 센서 사용 안함 - Android
- 2. 현재 표시된 수준 목록 수준을 얻는 방법
- 3. Excel 버전 및 매크로 보안 수준을 얻는 방법
- 4. 안드로이드에 대한 좋은 지식을 얻는 것에 관해서
- 5. WMI없이 배터리 정보 얻기
- 6. 안드로이드에 대한 Arcgis가 가능합니까?
- 7. EKG 그래프 그리기 및 깜박이는 빛
- 8. 안드로이드에 대한 제안 Javadoc 및 가이드
- 9. 안드로이드에서 센서 드라이버를 구현/디버깅하는 방법
- 10. 안드로이드 센서
- 11. AppleScript를 사용하여 BIOS에서 배터리 값 읽기
- 12. 정확한 배터리 레벨을 얻는 방법은 무엇입니까?
- 13. 빛 확인 스크립트
- 14. Android registerListener 및 배터리 수명
- 15. 안드로이드에 대한 eclispe에서 IOException 오류를 잡는 방법?
- 16. 안드로이드에 대한 올바른 이미지 해상도를 선택하는 방법
- 17. 배터리 관련 정보 android
- 18. Wordpress : 카테고리에서 어린이의 첫 번째 수준을 얻는 방법?
- 19. 안드로이드에 대한 콘텐츠 제한
- 20. 안드로이드에 대한 이미지 공유
- 21. 안드로이드에 대한 대안 AsyncTask
- 22. 안드로이드에 대한 facebook webservices
- 23. 아이폰에 배터리 부족 경고를받는 방법?
- 24. 폴더의 권한 수준을 얻는 방법은 무엇입니까?
- 25. Android- 자이로 센서
- 26. glib에서 로그 수준을 설정하는 방법
- 27. Android 웹킷 및 배터리 사용량
- 28. 점점 내가 센서 값에 대해 듣고있어 자기 센서
- 29. 자이로 센서 드리프트 및 정확한 각도 추정
- 30. 센서 네트워크의 SVM에 대한 치수 감소
나를 위해 작동하지 않을 것입니다 그리고 그것을 연구 후 일부 나는 그것에 대해이 발견 : 현재 SDK에있는 android.os.SystemProperties 없습니다. 이것은 소스 코드에서 펌웨어에 의해서만 사용되는 클래스입니다. 빛 센서 값과 배터리 수준을 변경하지 못하게하는 다른 방법이 있습니까? – John
주어진 시간에 값을 반환하는 * 직접적인 방법이 없으면 내 대답이 업데이트되었습니다. –