0

表示されているすべてのアプリケーション(フォアグラウンドおよび/またはバックグラウンド)を見つけて、できるだけ多く閉じるアプリケーションを開発する必要があります。私は以下のコードで試しました:

ApplicationPermissionsManager appPermissionsManager = ApplicationPermissionsManager.getInstance();

ApplicationPermissions appPermissions = appPermissionsManager.getApplicationPermissions();

if (ApplicationPermissions.VALUE_ALLOW == appPermissions.getPermissio(ApplicationPermissions.PERMISSION_INPUT_SIMULATION)) {
try {
EventInjector.KeyCodeEvent pressKey = new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN, ((char) Keypad.KEY_ESCAPE), 0);

EventInjector.KeyCodeEvent releaseKey = new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_UP, ((char) Keypad.KEY_ESCAPE), 0);

EventInjector.invokeEvent(pressKey);
EventInjector.invokeEvent(releaseKey);

} catch (Exception e) {
System.out.println("\n\n >>>>>> Block App Excep Thread 6 : " + e.toString() + "\n");
}
}

しかし、これは問題を解決するのにあまり役立ちませんでした。誰かがこれを実装するために何を使用できるかを提案できますか?

4

2 に答える 2

0

を使用しSystem.exit(0);ます。以前に使用しましたが、動作します。

于 2012-06-19T20:03:04.140 に答える
0

私は最近、同じタスクのデモを開発しました。

私はここで与えられたのと同じコードを使用しています...あなたのコードのどの部分が問題に直面しているか、詳細に教えてください...またはここにあなたのコードを提供してください。

詳細については、 リンク 1を参照してください。

および上: リンク2

ブロックするかどうかに関係なく、現在のフォアグラウンド アプリケーションを確認するために、1 秒間「スリープ」するだけの連続実行スレッドをお勧めします。おそらく、Timer タスクはアプリケーションの負荷を増加させるでしょう.... スレッドを使用すると、現在のフォアグラウンド ネイティブ アプリケーションを閉じるまで、その処理を簡単にブロック/一時停止できますが、TimerTask の場合は困難です。

于 2012-06-20T11:44:04.110 に答える