精华内容
下载资源
问答
  • Android返回键功能的实现方法

    千次阅读 2015-03-27 09:26:02
    这篇文章主要介绍了Android返回键功能的实现方法,实例分析了Android返回键的原理与具体的功能实现代码,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了Android返回键功能的实现方法。分享给大家供大家参考...
    这篇文章主要介绍了Android返回键功能的实现方法,实例分析了Android返回键的原理与具体的功能实现代码,非常具有实用价值,需要的朋友可以参考下

    本文实例讲述了Android返回键功能的实现方法。分享给大家供大家参考。具体如下:

    在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下并没有关闭改应用

    我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:

    public boolean onKeyDown( int keyCode, KeyEvent event) {
        
    // 按下键盘上返回按钮  
    if (keyCode == KeyEvent.KEYCODE_BACK) {  
      
       new AlertDialog.Builder( this )  
       .setMessage( "确定退出系统吗?" )  
       .setNegativeButton( "取消" ,  
        new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog,
          int which) {  
          }  
        })  
       .setPositiveButton( "确定" ,  
        new DialogInterface.OnClickListener() {  
          public void onClick(DialogInterface dialog,
          int whichButton) {
        finish();  
          }  
        }).show();  
      
       return true ;  
    } else {  
       return super .onKeyDown(keyCode, event);
    }  
    }  
        
    @Override  
    protected void onDestroy() {  
         super .onDestroy();  
         // 或者下面这种方式  
         //System.exit(0);  
         //建议用这种  
         android.os.Process.killProcess(android.os.Process.myPid());
    }

    展开全文
  • 在Android开发中经常会用到返回键的一些功能,比如弹出对话框。 如果要是想实现监听返回键的话,就要重写onKeyDown这个方法,这里举一个小实例,当我们按返回键的时候结束程序 例子如下: @Override public ...

    在Android开发中经常会用到返回键的一些功能,比如弹出对话框。

    如果要是想实现监听返回键的话,就要重写onKeyDown这个方法,这里举一个小实例,当我们按返回键的时候结束程序

    例子如下:

    @Override
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if(keyCode==KeyEvent.KEYCODE_BACK){
    			LoginActivity.this.finish();
    		}
    		return true;
    	}


    这样就能实现返回键的监听了,当然要是想弹出对话框之类的就直接在代码部分修改就可以了!!

    展开全文
  • 如何添加Android返回键的退出功能

    万次阅读 2015-04-25 19:55:27
    经网上搜索资料知道有两种方法可以实现Android返回键的退出功能,下面分别说明。 1、修改java代码 首先,在Cocos2dx的源文件中找到Cocos2dxGLSurfaceView.java文件,它的路径是:cocos2d\cocos\platform\android\...

    环境:Cocos2dx v3.5

    经网上搜索资料知道有两种方法可以实现Android返回键的退出功能,下面分别说明。

    1、修改java代码

    首先,在Cocos2dx的源文件中找到Cocos2dxGLSurfaceView.java文件,它的路径是:cocos2d\cocos\platform\android\java\src\org\cocos2dx\lib\Cocos2dxGLSurfaceView.java。注意要在自己的工程文件里面找这个文件。

    打开Cocos2dxGLSurfaceView.java,找到其中的onKeyDown函数:

        @Override
        public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
            switch (pKeyCode) {
                case KeyEvent.KEYCODE_BACK:
                    Cocos2dxVideoHelper.mVideoHandler.sendEmptyMessage(Cocos2dxVideoHelper.KeyEventBack);
                case KeyEvent.KEYCODE_MENU:
                case KeyEvent.KEYCODE_DPAD_LEFT:
                case KeyEvent.KEYCODE_DPAD_RIGHT:
                case KeyEvent.KEYCODE_DPAD_UP:
                case KeyEvent.KEYCODE_DPAD_DOWN:
                case KeyEvent.KEYCODE_ENTER:
                case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
                case KeyEvent.KEYCODE_DPAD_CENTER:
                    this.queueEvent(new Runnable() {
                        @Override
                        public void run() {
                            Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
                        }
                    });
                    return true;
                default:
                    return super.onKeyDown(pKeyCode, pKeyEvent);
            }
    }

    修改为如下代码(在case KeyEvent.KEYCODE_BACK分支中添加返回false的语句,表示不处理按键消息):

        @Override
        public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
            switch (pKeyCode) {
                case KeyEvent.KEYCODE_BACK:
                    Cocos2dxVideoHelper.mVideoHandler.sendEmptyMessage(Cocos2dxVideoHelper.KeyEventBack);
    				return false;
                case KeyEvent.KEYCODE_MENU:
                case KeyEvent.KEYCODE_DPAD_LEFT:
                case KeyEvent.KEYCODE_DPAD_RIGHT:
                case KeyEvent.KEYCODE_DPAD_UP:
                case KeyEvent.KEYCODE_DPAD_DOWN:
                case KeyEvent.KEYCODE_ENTER:
                case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
                case KeyEvent.KEYCODE_DPAD_CENTER:
                    this.queueEvent(new Runnable() {
                        @Override
                        public void run() {
                            Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
                        }
                    });
                    return true;
                default:
                    return super.onKeyDown(pKeyCode, pKeyEvent);
            }
        }

    其次,找到AppActivity.java文件,其路径为:proj.android\src\org\cocos2dx\cpp\AppActivity.java。它的代码如下:

    package org.cocos2dx.cpp;
    
    import org.cocos2dx.lib.Cocos2dxActivity;
    
    public class AppActivity extends Cocos2dxActivity {
    }

    修改为(添加onKeyDown方法,处理返回键按下事件):

    package org.cocos2dx.cpp;
    
    import org.cocos2dx.lib.Cocos2dxActivity;
    import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.Toast;
    
    public class AppActivity extends Cocos2dxActivity {
    	private long mKeyTime = 0;
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if (KeyEvent.KEYCODE_BACK == keyCode && KeyEvent.ACTION_DOWN == keyCode) {
    			if ((System.currentTimeMillis() - mKeyTime) > 2000) {
    				mKeyTime = System.currentTimeMillis();
    				Toast.makeText(getApplicationContext(), "要离开游戏吗?", Toast.LENGTH_SHORT).show();
    			} else {
    				finish();
    				System.exit(0);
    			}
    			return true;
    		}
    		return super.onKeyDown(keyCode, event);
    	}
    }

        最终,重新编译生成apk文件,按下Android手机的返回键,就能实现退出游戏了。但是经测试,游戏会直接退出,而不会出现提示,以后再探索。

        2、在Cocos2dx中添加代码

    第一步,在Cocos2dx的场景类中添加虚方法:

    virtual void onKeyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* event);

    第二步,实现该虚方法:

    void HelloWorld::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event)
    {
    	switch (keyCode)
    	{
    	case EventKeyboard::KeyCode::KEY_BACK:	//返回键
    		//退出游戏
    #if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
    		MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");
    		return;
    #endif
    
    		Director::getInstance()->end();
    
    #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    		exit(0);
    #endif
    		break;
    	default:
    		break;
    	}
    }

    第三步,在场景类的init方法中添加按键事件监听:

    //Android按键监听
    auto keyboardListener = EventListenerKeyboard::create();
    keyboardListener->onKeyReleased = CC_CALLBACK_2(HelloWorld::onKeyReleased, this);
    this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(keyboardListener, this);

    最后,重新编译,同样能够实现退出的效果。

    结论:java代码对Android系统有直接的操作,因此它比Cocos2dx的退出更直接,两种方法再次启动游戏的时候会从头加载资源。另外,官方demo中指出,第2种方法“Only avaliable on Desktop and Android”,即仅仅对WIndows平台和Android平台有效,并且需要在onKeyReleased事件中处理消息才能正确响应。









    展开全文
  • Android 返回键实现home键的功能

    千次阅读 2012-10-21 22:14:06
    Button btn = (Button) this.findViewById(com.example.testtohome.R.id.button1);    btn.setOnClickListener(new OnClickListener() { @Override ...publicvoid onClick(View v) { ...new Inte

         Button btn = (Button) this.findViewById(com.example.testtohome.R.id.button1);

          

      btn.setOnClickListener(new OnClickListener() {

    @Override

    publicvoid onClick(View v) {

    Intent i= new Intent(Intent.ACTION_MAIN); 

            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

            i.addCategory(Intent.CATEGORY_HOME); 

            startActivity(i);  

    }

    });


    展开全文
  • 微信小程序页面跳转后隐藏返回键并去除功能。 一:先将返回图标为小房子 正常页面跳转: wx.navigateTo({ url: ‘…/evaluate/evaluate’, }) 我们使用navigateTo,会发现跳转至子页面为: 这个图案按钮 二:将...
  • Android Framework中修改鼠标按键功能

    千次阅读 2013-06-17 14:41:22
    这是实际工作中遇到问题:要求可以在设置中修改鼠标上的Left、Middle、Right Button对应的功能功能有4种:左键点击,右键点击,菜单键、返回键。按键和功能的对应关系可以用系统属性来存储,Setting界面可以用...
  • 按微信产品部副总经理张颖“每一个公众号都是一个APP”的说法,我们确实可以利用微信内置浏览器访问为公众号设计...更重要的一点是使用微信内置浏览器访问Web页面时,Android用户一按物理返回键就回到微信界面,而Andro
  • IOS项目是使用混合模式开发,在开发聊天功能时;发现软键盘不能像QQ、微信那样,换行不能变为发送;网上说是因为输入框类别导致;尝试过以后,还是不行;然后想到用IOS native解决; 先说一下,原生APP 设置软...
  • android 机要是接入外接键盘,想要将ESC 也修改成和back一样的功能,则可以: frameworks / base/data/keyboards/Generic.kcm key PLUS { label: '+' base: '+' } ### No...
  • ionic框架对Android返回键的处理

    万次阅读 2014-09-01 09:32:44
    android平台会遇到一些比较特殊并难以解决的问题,这些问题在原生应用开发中很easy, Android的返回键处理就是问题之一,假如我们要实现一个在很多App中都有的在主页按返回键弹出对话框提示用户退出应用的功能,在...
  • 在开发一款优秀的产品时,用户体验是至关重要的,友好的,符合思维逻辑的交互体验是作为一款产品的首要印象 ...2、在弹出键盘的情况下,当我们点击返回键的时候,我们希望是先键盘隐藏掉,但是在ioni
  • 碰到这个问题,是因为没了解这里面的层级关系: 默认的是navigator跳转,其它跳转方式open-type属性...对应于wx.navigateTo、wx.redirectTo、wx.switchTab的跳转功能 open-type="navigate"等价于wx.navigateTo而w...
  • 说白一点就是我想要点击左上角的返回按钮 来实现跳转指定的页面这个我研究就只有这种写法(用户体验可能也不是很好)来到C页面(报修)index.js(自己打印出来看看)给B页面的变量赋值 /** * 生命周期函数--监听...
  • ionic注册安卓物理返回键的处理方法

    千次阅读 2017-08-18 21:24:05
    ionic打包的安卓工程,在真机中是逐一返回之前访问过的页面,有可能是父页面到子页面,也有可能是子页面到父页面,这样造成的用户体验十分不好,幸好ionic框架支持注册安卓返回键功能,具体处理方法为在app.js的....
  • 系统5.1 相关文章:安卓添加虚拟按键 1.修改以下两个文件中home和recent_app的visibility属性为gone(属性为隐藏) frameworks/base/packages/SystemUI/res/layout-sw600dp/navigation_bar.xml ...
  • react native 物理返回键Back踩的坑

    千次阅读 2018-08-24 16:30:35
    react native 物理返回键实现资料网上很多,推荐官网给的,地址: https://reactnavigation.org/docs/en/redux-integration.html 现在来说说我的坑,因为这是以前的人员写的,他已经离职了,但是这个坑从我接手...
  • Platform: msm8916 ...实现功能:1.导航栏添加声音图标(声音有两种状态,打开和关闭)  2.在打开状态下———点击———》图标会改变成关闭状态。  3.点击时同时会发送广播,通知应用。    com.andro...
  • Android7.1.1 remap鼠标右键为返回键

    千次阅读 2018-11-16 15:47:12
    如果只是将右键返回键还是很好做的,找到点击右键的事件一下就行,但是现在还需要控制,就涉及到交互的问题了。先看效果图。 追踪代码到InputReader.cpp文件,位置frameworks/native/services/inputflinger/...
  • 项目APP基于Cordova实现,有一个表单提交,但是不想有返回键能回到表单提交页面,所以,想要返回键返回时回到首页。 实现原理: 利用HTML5 的window.history对象实现对历史记录的访问 实现代码: 一,在需求页面...
  • 此时,用户点击返回键,又会返回到上一个提交资料页,用户可能会再次提交已经提交过的资料。这就导致了数据重复。 如:1.html(模块首页)—>2.html(提交资料页)—>3.html(完成提示页)解决方案一:在2.html中,当...
  • 公司app开发,react-native(android)要实现点击手机物理back返回和退出app功能,本人也是小白,不是很懂,但是作为一个app,这是基本功能,所以必须实现。下面两个方案的coding中有什么写的不好的地方请多多包涵...
  • 之前的一个功能,双击返回键,退出程序,回到桌面。详情请看我这篇博文,点击前往。 由于需求变化,不能退出程序,需要后台运行程序,不能退出。 很简单,直接看代码: // finish(); 结束程序 // System.exit...
  • 修改SecureCRT终端的Home和End功能键

    千次阅读 2013-03-12 19:16:51
    SecureCRT真是个不错的ssh客户端工具,但在使用时发现跟自己的一些使用习惯不符合,例如home、end、pageup、pagedown和delete等。 默认情况下一些按键的功能如下: pageup:向上翻页客户端工具窗口 pagedown:...
  • 修改SecureCRT终端的Home和End功能键

    千次阅读 2014-11-19 15:56:27
    SecureCRT真是个不错的ssh客户端工具,但在使用时发现跟自己的一些使用习惯不符合,例如home、end、pageup、pagedown和delete等。 默认情况下一些按键的功能如下: pageup:向上翻页客户端工具窗口 pagedown:...
  • 上一次由于项目的需要,需要在app级屏蔽home键,返回键等键所在一栏。百度各种无结果。于是就自己研究了一翻。发现了两种可行的方法: 方法一:用全屏悬浮窗去掉home键,返回键等键所在一栏 代码如下(直接做一个类...
  • 解决Hbuilder打包的app返回键直接退出

    万次阅读 多人点赞 2017-08-08 15:49:11
    问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页。写在公共js文件中,代码如下:document.addEventListener('plusready', function() { var webview = plus.webview.currentWebview...
  • 按手机返回键APP直接退出问题

    千次阅读 2018-06-26 15:52:44
    最近vue做个项目,通过HBuilder打包之后发现按手机的返回键应用直接退出了,而不是返回上一页,为此,特意解决了这一问题,具体代码如下:document.addEventListener('plusready', function() { var webview = plus...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 346,804
精华内容 138,721
关键字:

怎么把返回键的功能改