【问题标题】:Android battery temperature and voltage wrong valuesAndroid电池温度和电压值错误
【发布时间】:2014-11-19 11:59:00
【问题描述】:

我已经测试了这段代码。在两部手机上,工作正常,给我正确的价值观。在平板电脑上,相同的代码将温度值返回为 0,将电压值返回为 3(错误值)。

谁能帮我理解这个?我尝试的每个代码都会返回该值。

谢谢。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub      
     View rootView = inflater.inflate(R.layout.battery_fragment1, container, false);        





    rootView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT ));   






    getActivity().registerReceiver(mBatInfoReceiver, new IntentFilter(

            Intent.ACTION_BATTERY_CHANGED));

    BatTemp=(TextView)rootView.findViewById(R.id.batteryStatus);



    return rootView;
}

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {

    @Override

    public void onReceive(Context c, Intent intent) {



        level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);

        health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0);

 //       icon_small = intent.getIntExtra(BatteryManager.EXTRA_ICON_SMALL, 0);

        plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);

        present = intent.getExtras().getBoolean(

                BatteryManager.EXTRA_PRESENT);

        scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);

        status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, 0);

        technology = intent.getExtras().getString(

                BatteryManager.EXTRA_TECHNOLOGY);

        temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE,

                -1);

        voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);



   //     pb.setProgress(level);



        BatTemp.setText("Level: " + level + "\n\n" + "Health: " + health + "\n\n"

                + "\n\n" +



                "Plugged: " + plugged + "\n\n" + "Present: " + present + "\n\n"

                + "Scale: " + scale + "\n\n" + "Status: " + status + "\n\n"

                + "Technology: " + technology + "\n\n" + "Temperature: "

                + temperature + "\n\n" + "Voltage: " + voltage + "\n\n");



    }

};

【问题讨论】:

  • Shabbir,我看到了该主题,但问题是我看到了所有代码,但无法理解为什么它可以在这 2 台设备上运行,而不能在平板电脑上运行。任何的想法 ?谢谢

标签: android battery temperature


【解决方案1】:

可能有些设备会返回 V,而不是 mV。 我用这个:

    float v = (float) voltage;
    if (voltage > 12)
        v = (float) voltage / 1000;
    float t = (float) temp / 10;

【讨论】:

    猜你喜欢
    • 2011-06-19
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2011-12-04
    相关资源
    最近更新 更多