我正在尝试使用 ADF 获取移动设备的电池电量。我的意思是,例如,如果电池充电到五十,我想得到那个值。
怎样才能做到这一点?
我不知道我是否可以通过使用 Android-intent 来实现这一点。
如果是,我该怎么办?
我正在尝试使用 ADF 获取移动设备的电池电量。我的意思是,例如,如果电池充电到五十,我想得到那个值。
怎样才能做到这一点?
我不知道我是否可以通过使用 Android-intent 来实现这一点。
如果是,我该怎么办?
这是一个解释如何获取电池信息的代码示例:http ://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html
综上所述,ACTION_BATTERY_CHANGED
intent 的广播接收器是动态设置的,因为它无法通过 manifest 中声明的组件接收,只能通过 Context.registerReceiver() 显式注册。
public class Main extends Activity {
private TextView batteryTxt;
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context ctxt, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
batteryTxt.setText(String.valueOf(level) + "%");
}
};
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.main);
contentTxt = (TextView) this.findViewById(R.id.batteryTxt);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
}
尝试使用这个:
private void getBatteryPercentage() {
BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
context.unregisterReceiver(this);
int currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
int level = -1;
if (currentLevel >= 0 && scale > 0) {
level = (currentLevel * 100) / scale;
}
batteryPercent.setText("Battery Level Remaining: " + level + "%");
}
};
IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryLevelReceiver, batteryLevelFilter);
}
/* @Override*/
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
batteryPercent = (TextView) this.findViewById(R.id.batteryLevel);
getBatteryPercentage();
}
并oncreate
添加:
batteryPercent = (TextView) this.findViewById(R.id.batteryLevel);
getBatteryPercentage();
ADF Mobile 是一个 HTML5/Java/Javascript/CSS 框架,它依赖于 Cordova/Phone-gap,因此您需要的任何功能都尝试搜索如何使用 Cordova 来实现。
如果有直接的方法,那么您可以在 ADFMobile 功能中包含一个 Javascript 文件,然后在其中编写 cordova JS 代码,它可以在页面加载时调用,也可以直接从 javaBean 调用。
请参阅以下链接以查看如何从 javaBean http://oraleadfmobile.wordpress.com/2013/11/14/amx-activity-indicator/调用 javascript 函数
但是,如果该功能不是标准的 Cordova API,而这就是您的情况(请参阅如何在需要时获取 cordova 2.9 中的电池电量?),那么您需要查看此视频http://www.youtube.com /watch?v=jT4O4Wt9PXw了解如何使用 Cordova 插件扩展 ADF Mobile。