android 退出,不锁屏

Cocos2dxGLSurfaceView.java
	public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
		switch (pKeyCode) {
			case KeyEvent.KEYCODE_BACK:
				Cocos2dxActivity.clossGame();
				return true;
			case KeyEvent.KEYCODE_MENU:
				this.queueEvent(new Runnable() {
					@Override
					public void run() {
						Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
					}
				});
				return true;
			default:
				return super.onKeyDown(pKeyCode, pKeyEvent);
		}
	}

Cocos2dxActivity.java

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.app.Dialog;
	public static void clossGame()
	{
		log.info("return!");
		Cocos2dxActivity mainActivity = (Cocos2dxActivity) sContext;
		mainActivity.onPause();

		Dialog alertDialog = new AlertDialog.Builder(mainActivity).
                setTitle("游戏提示").
                setMessage("是否确定要退出游戏?").
                setPositiveButton("确定", new DialogInterface.OnClickListener() { 

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                		Cocos2dxActivity mainActivity = (Cocos2dxActivity) sContext;
                		mainActivity.finish();

                		System.exit(0);
                    }
                }).
                setNegativeButton("取消", new DialogInterface.OnClickListener() { 

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                		Cocos2dxActivity mainActivity = (Cocos2dxActivity) sContext;
                		mainActivity.onResume();
                    }
                }).
                create();
        alertDialog.show();
	}
import android.view.WindowManager;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);   //应用运行时,保持屏幕高亮,不锁屏
时间: 2024-09-30 09:45:18

android 退出,不锁屏的相关文章

Android端恶意锁屏勒索应用分析

一.前言 5月12日,一场全球性互联网灾难悄然而至,一款名为WannaCRY的PC端恶意勒索软件利用NSA泄漏的危险漏洞“永恒之蓝”,给100多个国家和地区10万台电脑造成了巨大的损失.到2017年为止,全球手机用户总量已经突破50亿,而作为占比超过50%的android系统中,同样有许许多多类似WannaCRY的勒索软件正在危害我们的财产安全. 接下来,以一款主流的Android端恶意锁屏勒索应用为例,结合人工分析的方式,深入剖析勒索应用的恶意行为.知己知彼,才能更好的防患于未来.   二.运

Android下屏幕锁屏弹窗的正确姿势

最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结.本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. 如何在锁屏界面弹出悬浮窗 如何监听系统屏幕锁屏 经过总结,监听系统的锁屏可以通过以下两种方式: 1) 代码直接判定 2) 接收广播 1) 代码直接判定 代码判断方式,也有两种方法: a) 通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (P

Android 监听锁屏/开屏事件

1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2.  BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.ACTION_SCREEN_ON : 屏幕点亮 Intent.ACTION_SCREEN_OFF :屏幕关闭 Intent.ACTION_USER_PRESENT: 用户解锁 2.2. 权限 监听用户解锁需要在AndroidManifest中注册权限 <uses-permission android:n

【Android代码片段之八】监听Android屏幕是否锁屏

实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可以判断屏幕状态是否锁屏,但是只有屏幕状态发生改变时才会发出广播: 2)如果要在屏幕状态发生改变之前就想获取屏幕状态,可以通过反射机制调用PowerManager的isScreenOn方法 . 具体实现,见代码: 实现Screen状态监听的类ScreenObserver,实现如下: [java] view plaincopy package 

Android判断屏幕锁屏的步骤总结

总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean isScreenOn = pm.isScreenOn();//如果为true,则表示屏幕“亮”了,否则屏幕“暗”了. 注释已经写的很明白了,现在大概说一下, 屏

Android判断屏幕锁屏的方法总结

转载请注明:http://blog.csdn.net/heroxuetao/article/details/24639203 由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerManager的isScreenOn方法,代码如下: PowerManager pm = (PowerManager) context.getSystemService(Conte

Android监听锁屏键、Home键

项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);//home键 mFilter.addAction(Intent.ACTION_SCREEN_ON); //开屏 mFilter.addAction(Intent.ACTION_SCREEN_OFF);//锁屏 mFilte

解决android自动化测试中锁屏问题-简单的实现

在设计Android测试的时候,不可避免会遇到屏幕锁定的问题,除非你暴力将手机设为不锁定(当然这么做手机不久就废掉了),在实践中,我们使用了一下方式来解锁/唤醒屏幕. 1.解锁: 我们使用appnium自带的unlock app,在测试机上安装后,在setup方法中调起该app,方法如下: public void unlock(String packageName) { Context context = getInstrumentation().getContext(); PackageMan

Android中锁屏密码算法解析以及破解方案

一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机恶意样本.现在的锁机样本原理强制性太过于复杂,没意义.所以本文就先来介绍一下android中的锁屏密码算法原理. 二.锁屏密码方式 我们知道Android中现结单支持的锁屏密码主要有两种: 一种是手势密码,也就是我们常见的九宫格密码图 一种是输入密码,这个也分为PIN密码和复杂字符密码,而PIN密码

Android开发之实现锁屏功能

锁屏需要引入设备超级管理员.在文档Android开发文档的Administration中有详细的说明.Android设备管理系统功能和控制访问. 主要有一下几个步骤: 1  创建广播接收者,实现DeviceAdminReceiver package com.andy.lockscreen; import android.app.admin.DeviceAdminReceiver; /** * @author Zhang,Tianyou * @version 2014年11月20日 下午9:51: