- Forum-Beiträge: 876
29.06.2010, 11:10:58 via App
29.06.2010 11:10:58 via App
Meld Dich mit meinen Link http://db.tt/keGqlyI bei Dropbox an, und wir haben je 250Mb mehr * Milestone 2.3.4 CM7 *
- Forum-Beiträge: 2.644
29.06.2010, 11:22:31 via Website
29.06.2010 11:22:31 via Website
- Forum-Beiträge: 876
29.06.2010, 11:28:07 via App
29.06.2010 11:28:07 via App
Meld Dich mit meinen Link http://db.tt/keGqlyI bei Dropbox an, und wir haben je 250Mb mehr * Milestone 2.3.4 CM7 *
- Forum-Beiträge: 5.136
29.06.2010, 11:36:45 via Website
29.06.2010 11:36:45 via Website
ich möchte in einem Service die globale Display Helligkeit regeln.
Ist das möglich?? Weiß wer wie man das macht?
Danke schonmal
Sollte theoretisch mit der Methode PutString aus System.Settings gehen und der Eigenschaft "SCREEN_BRIGHTNESS"
Nachzulesen unter:
http://developer.android.com/reference/android/provider/Settings.System.html
lg Voss
- Forum-Beiträge: 2.644
29.06.2010, 11:42:35 via Website
29.06.2010 11:42:35 via Website
ich habe jetzt
Settings.System.putString(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, Integer.toString(value));
value ist entweder 0 oder 255
es passiert nur leider gar nichts
muss man das irgendwie bestätigen vielleicht, damit man am display einen unterschied sieht?
vielen dank
lg
- Forum-Beiträge: 59
29.06.2010, 13:00:37 via App
29.06.2010 13:00:37 via App
evtl is auf automatisch musste aber manuell
mfg
- Forum-Beiträge: 133
30.06.2010, 18:03:48 via Website
30.06.2010 18:03:48 via Website
2Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);
3
4WindowManager.LayoutParams lp = getWindow().getAttributes();
5lp.screenBrightness = brightness / 100.0f;
6getWindow().setAttributes(lp);
Verlässt man dann die Aktivity, so bleibt die Helligkeitseinstellung erhalten.
- Forum-Beiträge: 5.136
30.06.2010, 19:24:23 via Website
30.06.2010 19:24:23 via Website
ich habe jetzt
Settings.System.putString(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, Integer.toString(value));
value ist entweder 0 oder 255
es passiert nur leider gar nichts
muss man das irgendwie bestätigen vielleicht, damit man am display einen unterschied sieht?
vielen dank
lg
lg Voss
- Forum-Beiträge: 2.644
30.06.2010, 19:36:11 via Website
30.06.2010 19:36:11 via Website
2Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightness);
3
4WindowManager.LayoutParams lp = getWindow().getAttributes();
5lp.screenBrightness = brightness / 100.0f;
6getWindow().setAttributes(lp);
Verlässt man dann die Aktivity, so bleibt die Helligkeitseinstellung erhalten.
ich hab das ganze in einem hintergrund service - da gibt es keine getwindow() soviel ich gesehen habe.
hmmm das is wohl nicht so gut
- Forum-Beiträge: 133
30.06.2010, 19:47:49 via Website
30.06.2010 19:47:49 via Website
Früher ging das wohl mal so:
2hardware.setScreenBacklight(brightness);
Seit Cupcake geht das leider nicht mehr.
Nachtrag:
Mit Reflection kann man Zugriff auf den HardwareService bekommen, jedoch scheint die Methode setScreenBacklight(int) nicht mehr vorhanden zu sein.
Nachtrag 2:
Die Methode setScreenBacklight(int) ist wohl ins Power-Management gewandert.
Zugriff auf die Methode könnte man theoretisch so bekommen (ist BeanShell Code, deshalb etwas verkürzt):
2serviceMangerClass = Class.forName("android.os.ServiceManager");
3
4 asInterfaceMethod = iHardwareServiceStubClass.getMethod("asInterface", new Class[] { android.os.IBinder.class });
5
6serviceMethod = serviceMangerClass.getMethod("getService", new Class[] { String.class });
7hardwareService = serviceMethod.invoke(null, new Object[] { "power" });
8
9power = asInterfaceMethod.invoke(null, new Object[] { hardwareService });
10
11power.setBacklightBrightness(100);
Dies resultiert jedoch in folgender Exception:
Leider ist die Berechtigung DEVICE_POWER nur für Anwendungen mit einem System Zertifikat möglich!
— geändert am 01.07.2010, 07:30:09
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.