更改通知亮度

时间:2013-01-15 06:08:27

标签: android notifications brightness

通知代码:

mNotificationManager = 
             (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    final Notification notifyDetails = 
            new Notification(R.drawable.ic_launcher,"New Alert, Click Me!",System.currentTimeMillis());
    Context context = getApplicationContext();
      notifyDetails.
    CharSequence contentTitle = "Notification Details...";

    CharSequence contentText = "Browse Android Official Site by clicking me";
    Intent notifyIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://www.android.com"));

    PendingIntent intent1 = 
          PendingIntent.getActivity(this, 0, 
          notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
    notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent1);
    mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);

我的通知正常,我想要发生的是当通知弹出时屏幕亮度增加到某个值。

我使用Eclipse的自动完成功能来找到合适的功能,但都没有用。我也搜索了一下,没有运气。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

前段时间我有类似的亮度问题。看看this answer。它应该指向正确的方向。

将此添加到您的活动中:

Settings.System.putInt(getContentResolver(),
                    Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 255);//255 here is your brightness value, an integer that can be between 0 and 255.
float brightness = 1.0f; //Your desired brightness, float value between 0.0 and 1.0
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);

并将此权限添加到AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

我刚测试过它,此代码适用于Android 4.1。