ユーザーが間違ったパスワードを入力したときに写真をキャプチャするアプリを開発しています。間違ったパスワードのイベントをキャプチャするなどの一部を行いました。
@Override
public void onPasswordFailed(Context ctxt, Intent intent) {
Toast.makeText(ctxt, "You will never break into this device!",
Toast.LENGTH_LONG).show();
DevicePolicyManager mgr = (DevicePolicyManager) ctxt
.getSystemService(Context.DEVICE_POLICY_SERVICE);
int s = mgr.getCurrentFailedPasswordAttempts();
String tag = "XXXXXXXXXX";
Log.d(tag, "*****This message from Error**********NUm:- " + s + "****");
mgr = null;
// Service/Action Call from here //
}
テスト用のデモ サービス Call を実行しました。
public class ServiceClass extends Service {
private String TAG = "Service Class ";
private Timer timer;
private TimerTask updateTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Log.i(TAG, "Timer task doing work");
}
};
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.i(TAG, "Service Clreating");
timer = new Timer("name");
timer.schedule(updateTask, 1000L, 2 * 1000L);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
timer.cancel();
timer = null;
}
}
メインクラスからサービスクラスを呼び出すと、完全に問題なくログメッセージが正常に出力されます.しかし、メソッドからサービスを呼び出すと、onPasswordFailed()
実行時にエラーが発生しましたが、コンパイルエラーは発生しません. ユーザーが間違ったパスワードを入力したときに自動的に写真を撮るなどのタスクを実行したいのですが、 service を使用してそれを行いました。しかし、この 2 つのコード (エラー検出と写真撮影) を組み合わせることができません。私が欲しいのは、 onPasswordFailed()
メソッドが呼び出されたときに何らかのアクションを実行することです。手伝って頂けますか?Google で検索しましたが、何も見つかりません。助けてください。