ユーザーが画面に触れるまで画面を点滅/点滅させるバックグラウンドサービスを行う予定です。
画面を点滅させる方法はわかりません-スポーンされたアクティビティを介して明るさと制御で実行できることを学んだことだけです。
画面上の色の変化、つまり白黒または画面のオン/オフで点滅させて、明るさよりも見やすくしたい。
ユーザーが画面に触れるまで画面を点滅/点滅させるバックグラウンドサービスを行う予定です。
画面を点滅させる方法はわかりません-スポーンされたアクティビティを介して明るさと制御で実行できることを学んだことだけです。
画面上の色の変化、つまり白黒または画面のオン/オフで点滅させて、明るさよりも見やすくしたい。
これを画面の点滅に使用しました。このコードでは、relativeLayout (HomeLayout) が点滅します。
Animation animation = new AlphaAnimation(1, 0); // Change alpha
// from fully
// visible to
// invisible
animation.setDuration(500); // duration - half a second
animation.setInterpolator(new LinearInterpolator()); // do not alter
// animation
// rate
animation.setRepeatCount(Animation.INFINITE); // Repeat animation
// infinitely
animation.setRepeatMode(Animation.REVERSE); // Reverse animation at
// the
// end so the layout will
// fade back in
relativeLayout.startAnimation(animation);
画面またはボタンをタッチしてアニメーションをクリアするときに、このコードを追加します。
relativeLayout.clearAnimation();
あなたのサービスから、次のものと対話できますWakeLock
:
を取得するWakeLock
には:
PowerManager powerMan = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerMan.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP, "wakelockTag");
次に、画面をオンにします。
wakeLock.acquire();
次に、もう一度オフにします。
wakeLock.release();
Thread
そして、これをsleep とともに に入れるか、 を使用Timer
してフラッシュを作成することができます。
例えば:
new Thread() {
public void run() {
boolean screenOn = false;
for (int i = 0; i < 5; i++) {
try {
sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (screenOn) {
wakeLock.acquire();
} else {
wakeLock.release();
}
}
}
}.run();
黒/白ではなく、オン/オフだけです。
黒/白にしたい場合は、KeyLock
( Android キーガードActivity
を検索する) も外してから、完全に黒だった を押してから、以前のように または でActivity
を白に変更する必要があります。はるかに多くの作業。Timer
Thread
で許可を取得することを忘れないでくださいAndroidManifest.xml
:
<uses-permission android:name="android.permission.WAKE_LOCK" />
KeyGuard
そのルートを下った場合、ロックを解除するには追加の権限が必要になります。