着信時にホーム画面を点滅させたいAndroidアプリを開発しています。アクティビティ内で以下の startblinking() メソッドを呼び出してみましたが、画面が正常に点滅します。
しかし、phonelistener のリング状態 (サービス クラス内) で同じメソッドを呼び出そうとすると、サービス クラスにはウィンドウがないため、次のエラーが発生します。
The method getWindow() is undefined for the type PhoneListener
.
private void startblinking()
{
Log.e("inside","blink MEthod");
timerforblinking.scheduleAtFixedRate(new TimerTask()
{
@Override
public void run()
{
runOnUiThread(new Runnable()
{
public void run()
{
time = (float) (time + 0.5);
if(time == 0.5 || time == 1.5 || time == 2.5 || time == 3.5 || time == 4.5 || time == 5.5)
{
Log.e("time","OFF - time = "+time);
layoutParams.screenBrightness = (float) 30 / 255;
getWindow().setAttributes(layoutParams);
}
if(time == 1.0 || time == 2.0 ||time == 3.0 ||time == 4.0 ||time == 5.0 )
{
Log.e("time","ON - time = "+time);
layoutParams.screenBrightness = (float)255 / 255;
getWindow().setAttributes(layoutParams);
}
if(time >= 6.0)
{
layoutParams.screenBrightness = (float)255 / 255;
getWindow().setAttributes(layoutParams);
timerforblinking.purge();
timerforblinking.cancel();
}
}
});
}
}, 0, 500);
着信時に画面が点滅する回避策はありますか。
助けてください。ありがとう!