HockeyApp反馈提交后页面无法返回的异常问题咨询
解决HockeyApp反馈提交后页面无法返回的问题
我之前在Cordova/Android项目里也碰到过一模一样的情况,HockeyApp的反馈界面提交后就卡在那里,用户找不到返回途径确实挺影响体验的。这里给你几个实用的解决思路:
先更新插件到最新版本
旧版本的HockeyApp Cordova插件大概率存在这个UI交互bug,先把插件更到最新版试试:cordova plugin update cordova-plugin-hockeyapp利用回调手动关闭反馈界面
调用反馈界面时,给它加上成功回调,在用户提交完成后主动关闭这个界面。示例代码如下:// 唤起HockeyApp反馈界面 hockeyapp.showFeedbackActivity( function() { // 提交成功后的回调,手动关闭反馈界面 hockeyapp.dismissFeedbackActivity(); }, function(error) { console.log('反馈提交出错:', error); } );这个方法能确保提交后立即关闭反馈页面,直接回到你的应用主界面。
自定义Android原生层的反馈界面行为
如果上面的方法没起作用,你可以修改插件的原生代码(针对Android):找到HockeyApp插件的FeedbackActivity.java文件,在提交成功的逻辑块里添加finish()方法,让Activity自动关闭。比如在提交完成的回调中加入:runOnUiThread(new Runnable() { @Override public void run() { finish(); } });监听Cordova的返回键事件
给应用添加返回键监听,当检测到当前处于HockeyApp反馈界面时,触发关闭操作:document.addEventListener("backbutton", function(e) { // 判断是否显示了HockeyApp反馈界面 if (hockeyapp.isFeedbackActivityVisible()) { hockeyapp.dismissFeedbackActivity(); e.preventDefault(); } else { // 处理应用内的其他返回逻辑 } }, false);
优先试试前两个方法,不需要改动原生代码,操作起来更简单。
内容的提问来源于stack exchange,提问作者DroidOS
相关产品推荐
相关产品推荐

