Um aktiv im Android Forum teilnehmen zu können, musst Du Dich bei AndroidPIT registriert haben.
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
Display Helligkeit regeln verfasst am 29.06.2010 11:04:13 |
Michael G. ![]() Rang: Android SilverSenior Beiträge: 878 Eintrittsdatum: 09.01.2010 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 11:10:58 (über AndroidPIT-App)
standart energisteuerungswidget? oder app quick setting.
----- |
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 11:22:31 |
Michael G. ![]() Rang: Android SilverSenior Beiträge: 878 Eintrittsdatum: 09.01.2010 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 11:28:07 (über AndroidPIT-App)
ok mann das ist echt der nachteil von andropitapp ich sehe so viel nicht nämlich nicht in welchem threat ich bin welches gerät du hast usw.
----- |
Jörg V. ![]() Status: Administrator Rang: Android Gottheit Beiträge: 4.912 Eintrittsdatum: 08.06.2009 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 11:36:45 Markus Gursch Hallo 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
----- |
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 11:42:35
danke das klingt schonmal gut
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 |
Kay J. ![]() Rang: Klassensprecher Beiträge: 47 Eintrittsdatum: 06.05.2010 |
RE: Display Helligkeit regeln verfasst am 29.06.2010 13:00:37 (über AndroidPIT-App)
such mal bei dem link oben nach screen_brightness_mode
evtl is auf automatisch musste aber manuell mfg |
Jochen Rühl ![]() Rang: Android HiWi Beiträge: 119 Eintrittsdatum: 27.10.2009 |
RE: Display Helligkeit regeln verfasst am 30.06.2010 18:03:48
Das scheint zu funktionieren...
1int brightness = 255; 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. |
Jörg V. ![]() Status: Administrator Rang: Android Gottheit Beiträge: 4.912 Eintrittsdatum: 08.06.2009 |
RE: Display Helligkeit regeln verfasst am 30.06.2010 19:24:23 Markus Gursch danke das klingt schonmal gut 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
----- |
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
RE: Display Helligkeit regeln verfasst am 30.06.2010 19:36:11 Jochen Rühl Das scheint zu funktionieren... 1int brightness = 255; 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 |
Jochen Rühl ![]() Rang: Android HiWi Beiträge: 119 Eintrittsdatum: 27.10.2009 |
RE: Display Helligkeit regeln verfasst am 30.06.2010 19:47:49 — geändert am 01.07.2010 07:30:09
Sorry, hatte ich überlesen...
Früher ging das wohl mal so: 1IHardwareService hardware = IHardwareService.Stub.asInterface(ServiceManager.getService("hardware")); 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): 1iHardwareServiceStubClass = Class.forName("android.os.IPowerManager$Stub"); 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: 1java.lang.SecurityException: Neither user 10044 nor current process has android.permission.DEVICE_POWER. Leider ist die Berechtigung DEVICE_POWER nur für Anwendungen mit einem System Zertifikat möglich! |