アプリケーションを起動する前に、セキュリティ アクティビティを起動したいと考えています。だから私はbrodcastReceiverを使うと思います。そのような活動の開始を検出します。以下のコードを使用して、実行中のすべてのアクティビティと実行中のプロセスを検出しています。私の問題は、アプリケーションの起動後にアプリケーションの実行を検出していることですが、このアクティビティを使用する意図を検出し、アクティビティを使用する前に許可を求めたいと考えています。
setContentView(R.layout.main_list);
context = this;
// Find the ListView resource.
ArrayList<String> planetList = new ArrayList<String>();
// planetList.addAll(Arrays.asList(planets));
// Create ArrayAdapter using the planet list.
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow,
planetList);
// Set the ArrayAdapter as the ListView's adapter.
int compteProcessusTues = 0;
ActivityManager am = (ActivityManager) context
.getSystemService(Activity.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> listeProcessus = am
.getRunningAppProcesses();
//the list of running process
for (RunningAppProcessInfo processus : listeProcessus) {
String packageName = processus.processName.split(":")[0];
Log.d("List des process", packageName);
if (!context.getPackageName().equals(packageName)
) {
am.restartPackage(packageName);
compteProcessusTues++;
}
}
// the list of running activity
final List<RunningTaskInfo> recentTasks = am
.getRunningTasks(Integer.MAX_VALUE);
Log.d("liste des applications ", recentTasks.toString());
for (int i = 0; i < recentTasks.size(); i++) {
Log.d("============Executed app ======", recentTasks.get(i).topActivity.getShortClassName());
listAdapter.add(recentTasks.get(i).baseActivity.toShortString());
}
mainListView.setAdapter(listAdapter);