2

Androidデバイス用のキオスクタイプのアプリを作成しようとしていますが、アプリが常に実行されていることを確認し、転倒した場合は再起動します。

私の最初の考えは、フォアグラウンドに固定されたサービスを作成することでした。このサービスはHandler、アクティビティ(UIを備えたメインアプリ)が実行されているかどうかを定期的に(システムを使用して)チェックします。実行されていない場合、サービスは以下を使用してインテントを起動することによりアクティビティを再開する必要があります。

Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(ComponentName.unflattenFromString("com.blah.blah.MyApp"));
intent.addCategory("android.intent.category.LAUNCHER");
startActivity(intent);

特定のアプリが実行されているかどうかを確認することはできますか?そしてボーナスインターネットポイントについては、そのアプリがフォアグラウンドにあるかどうかを知ることができますか(そしてサービスを使用してアクティビティをフォアグラウンドに保つことができますか?)

4

1 に答える 1

1

上部で実行中の現在のアプリケーション(任意のアプリケーション)パッケージ名を確認できます String packageName= getSystemService(Context.ACTIVITY_SERVICE).getRunningTasks(1).get(0)).topActivity.getPackageName();

バックグラウンド サービスでこのコードをループで実行し、アプリケーションをチェックします。

于 2013-01-22T03:57:04.380 に答える