退出APP

public class Carson_BaseApplicaiton extends Application {

    // 此处采用 LinkedList作为容器,增删速度快
    public static LinkedList<Activity> activityLinkedList;


    @Override
    public void onCreate() {
        super.onCreate();

        activityLinkedList = new LinkedList<>();

        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                Log.d(TAG, "onActivityCreated: " + activity.getLocalClassName());
                activityLinkedList.add(activity);
                // 在Activity启动时(onCreate()) 写入Activity实例到容器内
            }

            @Override
            public void onActivityDestroyed(Activity activity) {
                Log.d(TAG, "onActivityDestroyed: " + activity.getLocalClassName());
                activityLinkedList.remove(activity);
                // 在Activity结束时(Destroyed()) 写出Activity实例
            }

            @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) {

            }


        });
    }
    
    public  void exitApp() {

        Log.d(TAG, "容器内的Activity列表如下 ");
        // 先打印当前容器内的Activity列表
        for (Activity activity : activityLinkedList) {
            Log.d(TAG, activity.getLocalClassName());
        }

        Log.d(TAG, "正逐步退出容器内所有Activity");

        // 逐个退出Activity
        for (Activity activity : activityLinkedList) {
            activity.finish();
        }
      
        //  结束进程
        // System.exit(0);
    }
}

// 记得在Manifest.xml中添加
<application
        android:name=".Carson_BaseApplicaiton"
        ....
</application>
步骤2:需要一键退出 App 时,获取该 Applicaiton类对象 & 调用exitApp()

                private Carson_BaseApplicaiton app;

                app = (Carson_BaseApplicaiton)getApplication();
                app.exitApp();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp中,要实现退出app的功能,可以使用open-type属性来控制退出行为。根据引用\[1\]中的内容,有两种方法可以实现退出app的功能。 第一种方法是在小程序中使用<navigator>标签,并设置open-type属性为"exit",如下所示: ``` <navigator open-type="exit" target="miniProgram">退出</navigator> ``` 这样当用户点击退出按钮时,小程序会退出。 第二种方法是在小程序中使用<button>标签,并设置open-type属性为"launchApp",并通过app-parameter属性指定要跳转的app,如下所示: ``` <button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">退出</button> ``` 这样当用户点击退出按钮时,小程序会跳转到指定的app。 另外,根据引用\[2\]中的内容,如果你想在uniapp中实现类似于重写返回方法让app退出而是进入后台运行的功能,你可以在main.js中修改plus.runtime.quit()方法。具体的代码可以参考引用\[2\]中的示例代码。 总结起来,要在uniapp中实现退出app的功能,可以使用open-type属性来控制退出行为,或者通过修改plus.runtime.quit()方法来实现自定义的退出逻辑。 #### 引用[.reference_title] - *1* *3* [uniapp退出关闭当前小程序或APP](https://blog.csdn.net/Kino_Hs/article/details/126866661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [uniapp自定义应用退出执行内容](https://blog.csdn.net/Mr_Bobcp/article/details/125876986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值