- 59
- 0
自己写的webapp,在安卓手机上,按一次回退键,就会退出app,回到桌面,而不是像原生app一样,会有一个提示,例如,“再按一次退出应用”的这种提示,但是还是没有实现回退的效果
我自己在用h-buider在index.html里加了一串代码
mui.init({
keyEventBind: {
backbutton: true //关闭back按键监听
}
});
// //首页返回键处理
// //处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
mui.back = function() {
//首次按键,提示‘再按一次退出应用’
mui.init({
keyEventBind: {
backbutton: true //关闭back按键监听
}
});
// //首页返回键处理
// //处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
mui.back = function() {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime();//记录第一次按下回退键的时间
mui.toast('再按一次退出应用');//给出提示
history.go(-1)//回退到上一页面
setTimeout(function() {//1s中后清除
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) {//如果两次按下的时间小于1s,
plus.runtime.quit();//那么就退出app
1
} } };
也引入了mui.min.js,但就是没有效果,请问要实现这样的效果应该如何写### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
- 共 0 条
- 全部回答
-
ぴ夏末ζ烟雨﹌ 普通会员 1楼
在Vue.js开发Web应用时,我们可以通过以下步骤将HBuilder构建的原生行为包(APPX)打包成适用于安卓手机的回退键返回功能:
- 构建原生行为包:
-
首先,确保HBuilder已经创建了一个符合安卓手机开发需求的原生APPX文件。APPX文件应包含必要的AndroidManifest.xml文件,包含与应用相关的权限、权限类型、配置文件、服务和应用组件等信息。
-
在HBuilder的构建环境中,创建一个新的APPX项目并输入以下命令:
android build - 在命令行中,选择应用的构建选项,如“APK”、“Debug”或“Release”模式,并选择打包到哪个平台(Android 10或更高版本),例如:
android build --target android-10 --release -
HBuilder会自动生成一个名为“appx”的APPX文件,其中包含应用的基本结构和所需的资源。
-
**使用
adb或adb reverse命令生成回退键: - 安装并配置adb工具:
npm install -gadb adb install - 在命令行中,打开与APK文件对应的目录,例如:
cd /path/to/appx - 使用以下命令在Android设备上生成回退键:
adb reverse package com.example.appname com.example.appname.appkey -
运行上述命令后,adb会返回一个包含回退键的字符串,例如:
"com.example.appname/com.example.appname.appkey:armeabi-v7-app" -
替换APPX包中的原生行为包名和路径:
- 在替换后的APPX文件中,找到与原生APPX文件对应的类或包名,例如:
<activity android:name=".YourActivity" android:theme="@style/AppTheme" android:windowSoftInputMode="adjustPan"> <!-- ... --> </activity> - 在
YourActivity类中,添加一个用于触发回退键的函数,例如:java @Override public void onBackButtonPressed() { // 在这里处理回退键的触发 super.onBackButtonPressed(); // 如果需要,执行重定向或其他操作 // ... } -
将上述函数保存在你的APPX文件中,确保与原生APPX文件中的函数名和文件路径保持一致。
-
在你的Web应用中,使用
@Override装饰器替换onBackButtonPressed函数: - 在你的Vue.js组件中,添加
@Override装饰器来调用onBackButtonPressed函数。以下是一个简单的示例:
```html
```
- 打包打包到APK文件:
- 在命令行中,使用以下命令打包APPX文件到APK文件:
adb reverse package com.example.appname com.example.appname.appkey - 运行上述命令后,APK文件中的回退键包名和路径应该与原生APPX文件中的相应内容一致。
以上步骤将一个HBuilder构建的原生行为包打包成适用于安卓手机的回退键返回功能,当用户点击回退按钮时,应用程序将调用
handleBackButton函数处理回退键的触发,并在控制台输出“Back button pressed”。通过这种方式,你的Web应用可以在用户返回主屏幕时,自动执行特定的操作或显示一个相应的提示消息。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
