Android-无法从后台启动多个Activity
创始人
2024-08-19 22:30:07
0

这个问题通常出现在应用程序处于后台状态下。如果尝试从后台启动多个Activity,则会发生错误。要解决这个问题,可以使用以下代码来重写应用程序的后台流程:

public class MyApplication extends Application {

    private static MyApplication instance;

    public static synchronized MyApplication getInstance() {
        return instance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;

        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) { }

            @Override
            public void onActivityStarted(Activity activity) { }

            @Override
            public void onActivityResumed(Activity activity) { }

            @Override
            public void onActivityPaused(Activity activity) { }

            @Override
            public void onActivityStopped(Activity activity) { }

            @Override
            public void onActivitySaveInstanceState(Activity activity, Bundle outState) { }

            @Override
            public void onActivityDestroyed(Activity activity) {
                // 当Activity被销毁时,从Activity列表中删除该Activity
                MyActivityManager.getInstance().remove(activity);
            }
        });
    }
}

public class MyActivityManager {

    private static MyActivityManager instance;
    private final List activities = new LinkedList<>();

    public static synchronized MyActivityManager getInstance() {
        if (instance == null) {
            instance = new MyActivityManager();
        }
        return instance;
    }

    private MyActivityManager() { }

    /**
     * 添加Activity到列表中
     * @param activity
     */
    public synchronized void add(Activity activity) {
        activities.add(activity);
    }

    /**
     * 从列表中删除Activity
     * @param activity
     */
    public synchronized void remove(Activity activity) {
        activities.remove(activity);
    }

    /**
     * 获取列表中的最后一个Activity
     * @return
     */
    public synchronized Activity getLast() {
        if (activities.size() > 0) {
            return activities.get(activities.size() - 1);
        }
        return null;
    }

    /**
     * 移除所有的Activity

相关内容

热门资讯

透视了解!wepoker透视脚... 透视了解!wepoker透视脚本(透视)都是存在有挂(详细辅助透牌教程)1、用户打开应用后不用登录就...
重大通报!aa poker辅助... 这是一款非常优秀的aa poker辅助 ia辅助检测软件,能够让你了解到aa poker辅助中牌率当...
查到实测辅助!hhpoker是... 您好,菠萝辅助器免费版的功能介绍这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...
透视了解!wepoker有没有... 透视了解!wepoker有没有机器人(透视)果然存在有挂(详细辅助软件教程);1、系统规律教程、辅助...
透视ai代打!hhpoker免... 透视ai代打!hhpoker免费透视脚本(透视)一贯有挂(详细辅助规律教程)hhpoker免费透视脚...
重要通知!wepoker挂,h... 重要通知!wepoker挂,hh poker辅助有用吗,专业教程(有挂技巧);最新版2024是一款经...
透视线上!wepoker轻量版... 透视线上!wepoker轻量版辅助(透视)竟然真的有挂(详细辅助详细教程)1、任何ai辅助神器的玩家...
推荐十款!pokemmo辅助官... 推荐十款!pokemmo辅助官网,wepoker钻石怎么看底牌,力荐教程(有挂教程);建议优先通过w...
透视系统!We poker辅助... 透视系统!We poker辅助器下载(透视)原来是真的有挂(详细辅助德州论坛)1、透视辅助简单,软件...
记者发布!pokemmo脚本辅... 记者发布!pokemmo脚本辅助器下载,aapoker脚本怎么用,必赢方法(有挂教程);pokemm...