1

タブレットで通知 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 を備えたすべてのデバイスが、必ずしも LED を通知に使用するとは限りません。
  • それ以外の場合、デバイス メーカーはNotificationオブジェクト内の要求 (LED の色など) を無視できます。

そのため、欲しいものは何でも求めることができます。それが得られるかどうかは、デバイスによって異なります。

于 2013-01-17T20:40:41.577 に答える