相关疑难解决方法(0)

Android:如何检查活动是否正在运行?

有没有简单的方法来确定某项活动是否有效?我想根据哪些活动是活跃的来做某些事情.例如:

if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else
Run Code Online (Sandbox Code Playgroud)

android android-activity

141
推荐指数
10
解决办法
23万
查看次数

不推荐使用ActivityManager.getRunningTasks

我正在android中的推送通知,我使用下面的方法来显示通知,但问题是现在ActivityManager.getRunningTasks(1); 正在被弃用.从一个计算器问题,我读到:"你可以用getAppTasks()返回一个List<AppTask>在那里你可以得到RecentTaskInfogetTaskInfo"但我不能弄清楚如何使用它.在这方面请帮帮我.

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)

android deprecated push-notification activity-manager

17
推荐指数
3
解决办法
3万
查看次数

如何从服务检查活动是否在后台/前台运行?

我创建了一个服务,它从一个活动的onCreate开始,并停止在activity的onDestroy方法上.现在我必须从服务的方法中检查活动是否在前台/后台运行(对于某些情况,例如应用程序被强制关闭).我怎样才能做到这一点?

  1. 我需要这样做,因为我知道如果任何应用程序被强制关闭或任何类型的崩溃,无法保证调用活动的onDestroy方法.因此,我的活动启动时启动的服务不会在任何崩溃或任何强制关闭事件后停止.

  2. 我已经看到了可以检查前台活动的链接.但我需要在任何状态(前景或后台)检查正在运行的活动

service android android-activity

6
推荐指数
2
解决办法
3万
查看次数