开发过程中遇到按返回键异常退出的问题,log显示为空指针异常,进一步产看是由于onActivityResult得到的Intent为空. 按返回键复写代码例如以下: @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(); intent.putExtra("id", id); intent.putExtra("path", path); se…
Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //++自定义点击事件 return true;//不执行父类的点击事件 } return…
android监听返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { return true; } return super.onKeyDown(keyCode, event); } event.getRepeatCount() == 0重复次数:1次…
问题描述,如题目: android点击返回键,顺序执行 pause,stop,destory. 以至于想重新进入这个activity的时候还要重新执行onCreate()方法,那么如何解决不再重新执行onCreate()方法呢? 首先,所操作的activity需要在清单文件AndroidManifest.xml中把添加属性android:launchMode="singleInstance 如图,我要操作的是GoUI这个activity 然后,在你需要操作的activity里面重写下面这个方法:…
做vue项目时,用Hbuilder打包APP,在安卓下按返回键就是退出了APP,百度了下.都是使用到MUI来解决的,自己也记录下. 在main.js里面引入mui.js并使用. import mui from "./assets/js/mui.js"; Vue.prototype.$mui = mui; 如果引进mui报下面的错误: 这个错误就是VUE使用了严格模式,而且MUI在严格模式下报错.解决方法就是在根目录下面的.babelrc文件里面添加 "ignore"…
问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页. 写在公共js文件中,每个页面均引入该js,代码如下: document.addEventListener('plusready', function() { var webview = plus.webview.currentWebview(); plus.key.addEventListener('backbutton', function() { webview.canBack(function(e…
android 点击返回键退出程序的方法 第一种: 再按一次返回键退出程序 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) {     if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){            if((System.current…
一:使用 Application.Quit() public void Update() { if(Input.GetKeyDown(KeyCode.Escape)) Application.Quit(); } 如此,Unity 就能响应 Android 的 Back 按钮了. 但是!这个方法存在的问题是,退出当前 UnityPlayerActivity 的同时,会退出整个程序.因此对于想返回上一个 Activity 并不有效. 二:添加一个后退的 button 执行 mUnityPlayer.…
Android的很多app中,都有点击一次返回键提示再次点击退出app的功能. 今天就看了下实现的方式,其实就是在相应的Activity中重写了onKeyDown()方法.在onKeyDown()方法中扑捉到返回键(KeyEvent.KEYCODE_BACK)的点击动作(KeyEvent.ACTION_DOWN),然后做出相应的提示信息和动作. 当然,还需要一个时间参数,不然点击完成等了很久再次点击就会直接退出app了,这显然是不合理的.时间间隔的大小一般而言1,2秒应该就可以吧. import…
在很多应用中都有这种做法,连续点击两次才退出程序,目的是为了防止用户不小心点击到了返回键而退出程序了,添加了一次用户确认的过程. 其实做法很简单,只需要做一个延时的消息处理就可以了. 首先在我们在一个Activity中添加一个按钮,连续两次点击按钮时退出,连续两次点击返回键时也退出程序. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://s…
1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定时器是每次用户按下返回键才去创建. 代码如下: /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyC…
实现:Activity中放置webview,跳转到h5界面,点击返回键,不退出h5界面,而是返回上一个h5界面 /** * 改写物理按键--返回的逻辑,希望浏览的网页后退而不是退出浏览器 * @param keyCode * @param event * @return */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCod…
拦截返回键,HOME键,继承BaseActivity即可 import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.util.Log;…
MainActivity: package com.testnbackpressed;  import android.os.Bundle;  import android.view.KeyEvent;  import android.app.Activity;  /**  * Demo描述:  * 处理Back键按下事件  *   * 注意事项:  * 以下两种方法勿一起使用  */  public class MainActivity extends Activity {          …
先看一段代码如何在Android中加入返回按键的响应 <span style="font-size:18px;">自己派生CCKeypadDelegate的子类,然后注册为键盘事件的委托调用 class MyKeypadDelegate:public CCKeypadDelegate { public: virtual void keyBackClicked(); virtual void keyMenuClicked(); }; m_pKeypadDlegate = ne…
最近搞Android项目的时候,遇到一个比较蛋疼的需求,需要从Client App调用系统浏览器打开一个页面,进行杂七杂八的一些交互之后,返回到App.如何打开浏览器和如何返回App这里就不说了,有兴趣的童鞋可私下交流. 之所以说这个需求蛋疼,是因为Android有个物理返回键啊……返回键啊……键啊……啊…… 用户按下返回键后,预期应该跟点击页面上的返回键一样——返回App.然而这个返回键的被按下的时候网页完全不知道啊(onbeforeunload不算),找不到直接的办法去监听,愁死我们这全苦逼…
      我在做应用时遇到一个问题.就是在启动主页面时须要预先载入一些数据.我是在一个载入页中处理完这些数据然后再转到主页面.但当我在主页面中按返回键时,系统会返回载入页面.我不希望载入页在使用完之后还被保留在任务中. Android的官方文档中这样描写叙述的返回栈.任务和activity的默认关系: 1:当从Activity A中启动Activity B时.Activity A停止,可是保存了它的状态(比方,滚动位置和表单中的文字).假设当用户在Activity B中按了返回键,Activi…
打开RE管理器找到system/usr/keylayout/ 长按qwerty.kl选择以文本编辑器查看 将里面的MENU和BACK全部替换掉 保存,退出管理器,重启手机,菜单键和返回键的位置就调换过来了 互换方式非常简单,只用将两个数字调换,但需要一些动手能力. 1,首先机器必须ROOT.2,手机安装RE文件管理器.3,通过RE文件管理器找到/system/usr/keylayout目录,其中的generic.kl和qwerty.kl就是需要我们修改的两个文件,建议修改前先将这2个文件备份.4…
思路:重写Activity的onKeyDown方法,判断按键是不是返回键,如果是,则再判断按下的时间和上次按下的时间之间的差值(毫秒数)是不是大于2000,如果不大于,则用finish()方法结束程序.Demo如下: import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.widget.Toast; public class TestActivity e…
今天在做fragment的时候,发现一个问题,当我的界面停留在fragment的时候,按物理返回键,这时候会推出整个应用.这当然不是我们期望的,我们期望按返回键以后,应用界面返回添加fragment之前的界面.后来就在网上查了相关的方法,发现有个关于入栈的概念,现在记录如下. 一下文章参考 http://blog.csdn.net/lmj623565791/article/details/37992017 这个博客感觉很厉害,写的东西很好 我们先看下没有做处理的时候,fragment按返回键的结…
原文地址:http://blog.csdn.net/qqmcy/article/details/26172665 .h void onKeyReleased(EventKeyboard::KeyCode keycode, Event* event); .cpp   注冊返回键监听 // // PrograssScene.cpp // SJKB // // Created by 杜甲 on 14-5-5. // // #include "PrograssScene.h" #include…
//声明 void onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event); //实现 //按键控制(检测onKeyReleased有反应) auto listener = EventListenerKeyboard::create(); listener->onKeyReleased = CC_CALLBACK_2(MenuLayer::onKeyReleased, this); _eventDispatcher->addEve…
有人想通过下面代码来实现手动调用返回键,很可惜会出现空指针异常. this.onKeyDown(KeyEvent.KEYCODE_BACK, null); 我们可以通过调用 onBackPressed(); 来实现实现调用返回键.…
@Override public boolean dispatchKeyEvent(KeyEvent event) { //返回键 cocosActivity不相应onbackPressed和onKeyDown if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ LogUtils.i("dispatchKeyEvent"); getM…
该功能的实现没有特别复杂,主要在onKeyDown()事件中实现,直接上代码,如下: //第一次点击事件发生的时间 private long mExitTime; /** * 点击两次返回退出app */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTi…
@Override public void onBackPressed() { // TODO 退出提示 if (System.currentTimeMillis() - mExitTime > 1000) { if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } //点击间隔大于2s Toast.makeText(this, getReso…
private static Boolean isExit = false;        private static Boolean hasTask = false;        Timer tExit = new Timer();        TimerTask task = new TimerTask() {                @Override                public void run() {                        isExi…
用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写onkeydown事件,实现的效果如下:   标签:    Android SDK       代码片段(2) [全屏查看所有代码] 1. [图片] 截图 2. [代码][Java]代码     跳至                         [2]     [全屏预览] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1…
这个问题来来回回困扰了我很久,一直没能妥善解决. 场景1:华为手机遮挡了屏幕底部. 场景2:进入应用时,虚拟键自动缩回,留下空白区域. 需求: 需要安卓能自适应底部虚拟按键,用户隐藏虚拟按键时应用要占满整个屏幕,当用户启用虚拟键时,应用能往上收缩,等于是被底部虚拟按键顶上来. 需求很简单,实现起来却困难重重. 完美解决方案: 解释一下下面的代码,就是监听某个视图的变化,当可以看见的高度发生变化时,就对这个视图重新布局,保证视图不会被遮挡,也不会浪费屏幕空间.这一点尤其可用在像华为手机等可以隐藏和…
简叙 Activity 生命周期及android 返回按钮捕捉   @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); //To change body of overridden methods use File | Settings | File Templates. } @Override protected void onSta…