Android 开发APK安装后点击[打开]与[完成]的区别引起的问题

    xiaoxiao2022-07-05  160

    问题是这样的,手机安装一个apk文件,安装后,会有一个完成和打开的选项,如果点击完成,会回到桌面看到APP的启动图标,这个是正常的,如果安装后点击的是打开就不会回到桌面,而是直接打开APP,这个时候就会遇到一个问题:在这个打开的APP中点击home键退入后台,再次启动的时候还是会重走launchacvitity的onCreate方法,如果你从首页跳到了其他acvitity,点击home回到桌面,还是会走启动页的onCreate方法,这里边的业务逻辑就会受影响,如果要隔离这种影响,就要在APP的launchacvitity中(也就是启动的第一个acvitity)的onCreate方法做如下过滤操作

    if (!isTaskRoot()) { /* isTaskRoot()判断当前的activity是不是第一个activity */ Intent intent = getIntent(); String action = intent.getAction(); if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) { finish(); return; } }

    这样就可以消除安装apk后不返回桌面直接打开对业务逻辑的影响,就和在桌面启动APP是一样的流程了。

    最新回复(0)