-2

Androidデバイスにインストールされているすべての現在のアプリケーションをフェッチし、ユーザーがロックしたいアプリケーションにロックを設定するオプションを作成するAndroidでロックアプリケーションを作成しています。

そのアプリケーションが最初にクリックされると、パスワードが正しい場合、ロック アプリはロック解除パスワードを要求し、アプリケーションが開きます。

これを行っている間、私はこれらの問題に直面しています:

1>入力したパスワードが間違っている場合、アプリケーションは開かないか、まったく起動しないはずです。他のアプリを強制終了することは基本的に不可能であることを理解したので、

a> アプリがまったく起動しない、または

b>それも不可能なら、少なくともバックグラウンドにできますか?

これらの手続きを行うことができません

2> メールをロックしていて、初めてメールを開こうとすると、メールが開いているロック アクティビティが表示されますが、その後、メール アクティビティがフォアグラウンドに表示され、パスワード ロック アクティビティがバックグラウンドになりますが、パスワード アクティビティはパスワードを要求し、パスワードが入力されるかキャンセルされた場合にのみフォアグラウンドにとどまるはずです

この問題を処理する方法??

編集:上記の問題は解決しましたが、これを実行している間も問題が発生します

activmanager.killBackgroundProcesses(pack);

ロックされたアプリケーションが起動しているかどうかを確認するために、バックグラウンドで実行されているサービスからパッケージ名を取得しています

助けてください

ありがとう

4

1 に答える 1

0

私は問題の解決策を回避しました。他の誰かがこの回答を必要とする場合は、回答を追加します

1>ホーム画面を呼び出して、呼び出されたアプリケーションがバックグラウンドになるようにしました

ホーム画面に移動するためのコード:

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

今私は使用しました

activmanager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activmanager.killBackgroundProcesses(pack);

プロセスを強制終了しますが、それでもターゲット パッケージは強制終了しません。

2>どのアプリケーションが起動されているかをチェックするサービスがあります.ロックされたアプリが起動された場合、パスワードアクティビティが開始されるため、これらのフラグをインテントに追加しました.以前は、パスワード アクティビティはフォアグラウンドのみでした

in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
in.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2013-10-01T11:34:16.947 に答える