【问题标题】:Way to change boolean labels?更改布尔标签的方法?
【发布时间】:2013-06-28 09:13:10
【问题描述】:

有没有办法改变布尔标签?我的意思是,我正在控制电池是否通过 USB 充电。如果是,则输出为真。我想用别的东西改变true。可能吗?这是代码:

public static boolean isPhonePluggedIn(Context context){
    boolean charging = false;

    final Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
    boolean batteryCharge = status==BatteryManager.BATTERY_STATUS_CHARGING;

    int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
    boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
    boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

    if (batteryCharge) charging=true;
    if (usbCharge) charging=true;
    if (acCharge) charging=true; 

    return charging;
}

【问题讨论】:

  • 你想把true改成什么东西……什么???
  • 这是非常高级的编程,超出了我们大多数人 :)。严肃的回答——布尔值是真还是假,就是这样。或许可以通过 isPhonePluggedIn() 展示您在做什么,我们可以提供帮助?
  • 好吧,我真正想做的不是打印“true”,而是例如“正在收费”。
  • 然后看看长发公主的回答 - 虽然我更愿意做类似if (isPhonePluggedIn()) { print "is charging"} else {print "not charging"}

标签: android boolean label battery


【解决方案1】:

如果你在谈论显示文本,你可以这样做:

public static String isPhonePluggedIn(Context context){
    boolean charging = false;
    String result = "No";
    final Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
    boolean batteryCharge = status==BatteryManager.BATTERY_STATUS_CHARGING;

    int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
    boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
    boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

    if (batteryCharge) charging=true;
    if (usbCharge) charging=true;
    if (acCharge) charging=true; 

    if(charging) result="Yes";  
    return result;
}

所以你可以在 textview 或 toast 中设置这个字符串。

希望对你有帮助。

【讨论】:

  • 问题是我在一个 void 方法中,所以我不能写返回值。
  • @user2508402 该方法已经返回布尔值。它不是无效的
  • 这部分:int chargePlug = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB; boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC; if (batteryCharge) charging=true; if (usbCharge) charging=true; if (acCharge) charging=true; if(charging) result="Yes"; 在 void 方法中。我现在更改了代码。
猜你喜欢
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
  • 2012-01-03
相关资源
最近更新 更多