1.准备环境工作,在项目目录下新建自己的MyApplication,MyActivity,MyAllSdk,MyBroadcastReceiver的java文件:
在MyApplication.Java中添加代码:
package com.OYHP;
import android.app.Application;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
}
}
在MyActivity.Java中添加代码:
package com.OYHP;
import com.OYHP.MyAllSdk;
import com.OYHP.MyApplication;
import com.OYHP.MyBroadcastReceiver;
import android.util.Log;
import android.os.Bundle;
import android.content.Intent;
import android.content.IntentFilter;
import org.cocos2dx.lib.Cocos2dxActivity;
import com.OYHP.SdkTest.R; //这里的路径后面介绍
public class MyActivity extends Cocos2dxActivity {
private MyAllSdk myAllSdk; //我声明了,但未使用
private MyApplication myApp; //我声明了,但未使用
private MyBroadcastReceiver receiver;
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
myApp = (MyApplication) getApplication();
myAllSdk = new MyAllSdk(this);
receiver = new MyBroadcastReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); //注册电量监听广播
}
@Override
protected void onDestroy() {
super.onDestroy();
//销毁广播
unregisterReceiver(receiver);
}
}
在MyAllSdk.Java中添加代码:
package com.OYHP;
import android.content.Context;
import android.app.Activity;
import android.os.Vibrator;
public class MyAllSdk {
private static Activity sActivity = null;
MyAllSdk(Activity _activity) {
sActivity = _activity;
}
public static void vibrate(int times) {
if(sActivity != null) {
Vibrator v = (Vibrator) sActivity.getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(times);
}
}
public native static void onBatteryStatus(int _batteryStatus, int _charge);
}
在MyBroadcastReceiver.Java中添加代码:
package com.OYHP;
import android.content.BroadcastReceiver;
import android.os.BatteryManager;
import android.widget.TextView;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.OYHP.MyAllSdk;
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int isCharge = intent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN) == BatteryManager.BATTERY_STATUS_CHARGING ? 1 : 0;
int currtent = intent.getExtras().getInt("level");
int total = intent.getExtras().getInt("scale");
int percent =