2011-12-10 12 views
-1

特定のSMSの受信時に何かを行うアプリケーションを作成しています。すべてが問題ありませんが、キーガードロックやその他のロックがある場合、SMS送信サービスは機能していません。すべてのロックを無効にしてからSMSを送信してから、再度電話をロックする必要があります。それはどうやって行なわれるのですか?私は電話がロックされていたり、キーガードされていても、アクティビティからSMSを送信する方法

mKeyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
mLock = mKeyGuardManager.newKeyguardLock("Locationlistener"); 
mLock.disableKeyguard(); 

で試してみましたし、その後

mKeyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
mLock = mKeyGuardManager.newKeyguardLock("Locationlistener"); 
mLock.reenableKeyguard(); 

を再度有効にすることを試みたが、そのは、キーガードのロックを解除してからキーガードが再び現れることはなかったです。パターンロックのためにも機能しません。

答えて

1

SMS送信に関連するキーガードロックは何ですか?あなたのアプリケーションに適切なアクセス許可が必要で、SMSを無関係に送信することができます。私はSMSコマンドだけで動作する私のアプリケーションでこのような問題に遭遇していません。

+0

実際には、電話機がロックされていて特定のSMSが受信されたとき、最初のアクティビティは正しく呼び出されますが、(結果として)呼び出される2番目のアクティビティはonPause()のケースでコードを実行するため、SMSが送信されないのはこのためです。 –

+0

問題は、場所を検出する作業を行うサービスの代わりにアクティビティを使用していると思います。この問題を克服する方法はありますか?アプリケーションを使用しないで、アプリケーションを削除したり、サービスを使用したりするのは難しい作業です。 –

+0

IntentServiceを使用する必要があります。 – PravinCG

関連する問題