我正在尝试使用ADF获取Mobile的电池电量。我的意思是,例如,如果电池充电达到50,我想获得该值。
如何实现这一目标?
我不知道我是否可以通过使用Android-intent来实现这一点。
如果是,我该怎么做?
答案 0 :(得分:1)
这是一个代码示例,解释了如何获取电池信息:http://www.tutorialforandroid.com/2009/01/getting-battery-information-on-android.html
总结一下,动态设置ACTION_BATTERY_CHANGED
意图的广播接收器,因为它不能通过清单中声明的组件接收,只能通过使用Context.registerReceiver()显式注册它。 / p>
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));
}
}
答案 1 :(得分:0)
尝试使用它:
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();
答案 2 :(得分:0)
ADF Mobile是一个HTML5 / Java / Javascript / CSS框架,它依赖于Cordova / Phone-gap,因此您需要的任何功能都可以尝试使用Cordova进行搜索。
如果有直接的方法,那么你可以在你的ADFMobile功能中包含一个Javascript文件,然后在那里编写cordova JS代码,它可以在页面加载时调用,或者你可以直接从你的javaBean调用它。
请参阅以下链接,了解如何从javaBean调用javascript函数 http://oracleadfmobile.wordpress.com/2013/11/14/amx-activity-indicator/
但是,如果该功能不是标准的Cordova API,而且是您的情况(请参阅how to get battery level in cordova 2.9 when it need?),那么您需要查看此视频http://www.youtube.com/watch?v=jT4O4Wt9PXw以了解如何扩展ADF Mobile Cordova插件。