有没有简单的方法来确定某项活动是否有效?我想根据哪些活动是活跃的来做某些事情.例如:
if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else
Run Code Online (Sandbox Code Playgroud) 我正在android中的推送通知,我使用下面的方法来显示通知,但问题是现在ActivityManager.getRunningTasks(1); 正在被弃用.从一个计算器问题,我读到:"你可以用getAppTasks()返回一个List<AppTask>在那里你可以得到RecentTaskInfo与getTaskInfo"但我不能弄清楚如何使用它.在这方面请帮帮我.
private void postNotification(Context ctx, Intent intent) {
try {
if (intent == null) {
Log.d(TAG, "Receiver intent null");
} else {
String action = intent.getAction();
if (action.equals("com.ziza.cy.UPDATE_STATUS")) {
JSONObject json = new JSONObject(intent.getExtras()
.getString("com.parse.Data"));
String type = json.getString("type");
if (type.equals("AlertNotification")) {
String msg = json.getString("header");
String title = "ncy";
ActivityManager am = (ActivityManager) ctx
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
// don't show notification if app is …Run Code Online (Sandbox Code Playgroud) 我创建了一个服务,它从一个活动的onCreate开始,并停止在activity的onDestroy方法上.现在我必须从服务的方法中检查活动是否在前台/后台运行(对于某些情况,例如应用程序被强制关闭).我怎样才能做到这一点?
我需要这样做,因为我知道如果任何应用程序被强制关闭或任何类型的崩溃,无法保证调用活动的onDestroy方法.因此,我的活动启动时启动的服务不会在任何崩溃或任何强制关闭事件后停止.
我已经看到了可以检查前台活动的链接.但我需要在任何状态(前景或后台)检查正在运行的活动