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);
}
}
我看到了,我在我的摩托羅拉手機上測試了這個應用程序,它工作正常,但是在摩托羅拉的XYboard上它不起作用。那麼這意味着相同的製造商和不同的硬件行爲是不同的?有沒有其他方法可以使LED長時間保持開啓狀態? – sim
@ user1932046您甚至可能以不同的版本製造商提供的固件在同一設備上執行不同的操作。不幸的是,你絲毫不能依賴它。 – Kitsune
@ user1932046:「那麼這意味着相同的製造商和不同硬件的行爲是不同的?」 - 當然。甚至在固件更新之前和之後,相同的設備可能會有不同的表現。 LED行爲完全取決於設備製造商。你只能提出可能會或可能不會被尊重的事情。 「有沒有其他方法可以讓LED長時間持續亮起?」 - 不,對不起。再次,請記住,許多設備根本沒有LED。 – CommonsWare