私はアプリケーションがバックグラウンドで実行されているかどうかを確認する必要があります。私は以下のようにしています。アプリがバックグラウンドで実行されているか、アンドロイドを殺しているかどうかを確認するにはどうすればよいですか?
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> alltasks = am.getRunningTasks(1);
for (ActivityManager.RunningTaskInfo aTask : alltasks) {
// Used to check for CALL screen
if (aTask.topActivity.getClassName().equals("com.android.phone.InCallScreen")
|| aTask.topActivity.getClassName().equals("com.android.contacts.DialtactsActivity")) {
// When user on call screen show a alert message
Toast.makeText(context, "Phone Call Screen.", Toast.LENGTH_LONG).show();
}
// Used to check for SMS screen
if (aTask.topActivity.getClassName().equals("com.android.mms.ui.ConversationList")
|| aTask.topActivity.getClassName().equals("com.android.mms.ui.ComposeMessageActivity")) {
// When user on Send SMS screen show a alert message
Toast.makeText(context, "Send SMS Screen.", Toast.LENGTH_LONG).show();
}
// Used to check for CURRENT example main screen
String packageName = "com.sap.rex.ui";
if (aTask.topActivity.getPackageName().equals(packageName)) {
isInBackground = false;
Toast.makeText(context, "Current Example Screen.", Toast.LENGTH_LONG).show();
}
上記のコードでは、トップアクティビティパッケージ名がバックグラウンドであるかどうかを確認するだけです。
2つまたは3つのアプリケーションをその上に開くと、アプリケーションのパッケージ名が一番上になるため、そこにいるにもかかわらず、バックグラウンドではないということです。
私が間違っていることを教えてください。
おかげ
回答:この質問の回答http://stackoverflow.com/questions/8489993/check-android-application-is-in-foreground-or-not –
@Dhavalkumar Solanki私は確認してお知らせします – coders
時間 –