uni-app离线打包APP后 点击VUE页面窗口左上角返回图标 APP会退出

uni-app离线打包APP后 点击VUE页面窗口左上角返回图标 APP会退出

问题描述

uni-app应用离线打包为APP后,点击VUE页面窗口左上角返回图标,APP会退出而不是返回上级页面。在此页面如果是点击ANDROID手机的【返回键】或者是自定义的返回功能按钮,页面则能正常返回。

重现步骤

  1. 点页面窗口左上角返回图标
  2. APP会退出

期望

页面正常返回上级页面

附件

请查看附件视频

运行环境说明

IDE

IDE名称 版本号
HBuilderX 1.1.20181012
Android Studio 3.2

操作系统

操作系统 版本号
macOS 10.12.6

手机

手机型号 Android版本号
物联网终端 5.1

更多关于uni-app离线打包APP后 点击VUE页面窗口左上角返回图标 APP会退出的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

此问题在hello uni-app是否出现?还是仅仅在某个项目出现?

更多关于uni-app离线打包APP后 点击VUE页面窗口左上角返回图标 APP会退出的实战教程也可以访问 https://www.itying.com/category-93-b0.html


同样出现这样的问题,只要左上角有返回按钮的,都会出现这个问题

经过N次试验,已找到问题所在: 1、用官方离线打包工程测试,ANDROID 启动的 activity 必须是下面的启动类,否则任意VUE项目(包括官方login案例demo)点左上角返回图标均会退出APP: <activity android:name="io.dcloud.PandoraEntry" android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale" android:hardwareAccelerated="true" android:screenOrientation="user" android:theme="@style/TranslucentTheme" android:windowSoftInputMode="adjustResize">

        <intent-filter>  

            <action  
                android:name="android.intent.action.MAIN" />  

            <category  
                android:name="android.intent.category.LAUNCHER" />  
        </intent-filter>  

    </activity>

2、启动类不能是离线打包工程中的自定义示例类: com.HBuilder.integrate.SDK_WebApp 或者:com.HBuilder.integrate.SDK_WebView 否则出现此BUG
3、请官方给出能解决此BUG 的自定义com.HBuilder.integrate.SDK_WebApp 类写法。

uni-app的集成必须在我们的环境中进行,不支持webapp的方式使用

这个问题的原因可能是离线打包时没有正确处理导航栏返回按钮的点击事件。以下是解决方案:

  1. 检查pages.json中的导航栏配置,确保没有设置"autoBackButton": false

  2. 在Android原生代码中检查是否重写了返回逻辑。在MainActivity中应该保留默认的返回处理:

[@Override](/user/Override)
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if (mUniSDKInstance != null && mUniSDKInstance.onBackPressed()) {
            return true;
        }
    }
    return super.onKeyDown(keyCode, event);
}
回到顶部