经过测试2.1(包含2.1) 以上的版本都可以使用@Overridepublic void onAttachedToWindow() {this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);super.onAttachedToWindow();}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {switch(keyCode) {case KeyEvent.KEYCODE_BACK:Log.e("Test01", &qu Read More
posted @ 2013-04-12 14:14
zhangguangtao
Views(138)
Comments(0)
Diggs(0)
[cpp]view plaincopy#include"TestNative.h"/**Class:TestNative*Method:add*Signature:(II)I*/JNIEXPORTjintJNICALLJava_TestNative_add(JNIEnv*en,jobjectobj,jintx,jinty){returnx+y;} 所有的JNI调用都使用了JNIEnv*类型的指针,习惯上在CPP文件中将这个变量定义为evn,它是任意一个本地方法的第一个参数。env指针指向一个函数指针表,在VC中可以直接用"->"操作符访问其中的函数 Read More
posted @ 2013-04-12 14:07
zhangguangtao
Views(1429)
Comments(0)
Diggs(0)
Java通过JNI机制调用c/c++写的native程序。c/c++开发的native程序需要遵循一定的JNI规范,下面的例子就是一个JNI函数声明:JNIEXPORTjintJNICALLJava_jnitest_MyTest_test(JNIEnv*env,jobject obj,jint arg0);JVM负责从Java Stack转入C/C++ Native Stack。当Java进入JNI调用,除了函数本身的参数(arg0),会多出两个参数:JNIEnv指针和jobject指针。JNIEnv指针是JVM创建的,用于Native的c/c++方法操纵Java执行栈中的数据,比如Java Read More
posted @ 2013-04-12 14:04
zhangguangtao
Views(185)
Comments(0)
Diggs(0)