1

我编写了一个小型测试应用程序(从 Stack Overflow 中给出的先前实现中借用的示例),它将打开我平板电脑上的通知 LED。当我在平板电脑上测试这个应用程序时,它没有按预期工作,即 LED 会打开很短的时间(而不是我在程序中提到的 5 秒持续时间)。我猜它在 LED 需要打开/关闭的持续时间内采用系统默认值,而不是采用我的应用程序中指定的值。有没有人之前看到过类似的问题?有没有办法让我覆盖这个系统的特定值?我的代码如下:

public class SampleActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sample);
    RedFlashLight();
}

private void RedFlashLight()
{
    NotificationManager nm = ( NotificationManager ) getSystemService( NOTIFICATION_SERVICE );
    Notification notif = new Notification();
    notif.ledARGB = Color.RED;
    notif.flags = Notification.FLAG_SHOW_LIGHTS ;
    notif.ledOnMS = 5000; //5 seconds 
    notif.ledOffMS = 0;  //do not turn it off 
    nm.notify(10, notif);
 }


}
4

1 回答 1

1

有没有办法让我覆盖这个系统的特定值?

超越你已经在做的事情?不。

记住:

  • 并非所有设备都有 LED
  • 并非所有具有 LED 的设备都必须将它们用于通知
  • 否则设备制造商可以忽略Notification对象中的请求,例如 LED 颜色

所以,你可以要求任何你想要的,你是否得到它取决于设备。

于 2013-01-17T20:40:41.577 回答