C# 计算设备充满电的剩余时间

C# 计算设备充满电的剩余时间,c#,android,battery,C#,Android,Battery,我有一个活动,其中包含一个文本视图,该视图应显示插入的android设备完全充电的剩余时间。。。 我使用BatteryManager类来实现这一点……我从该类创建了一个对象,并发现有一个名为ComputeChargeTimeRemaining的方法 唯一的问题是,该方法的结果是长数据类型,我不知道如何将该数据类型转换为时间值。。。这正是我决定寻求帮助的原因。。。这是我用来做这件事的代码 class Notes : AppCompatActivity{ //TextView to show rem

我有一个活动,其中包含一个文本视图,该视图应显示插入的android设备完全充电的剩余时间。。。 我使用BatteryManager类来实现这一点……我从该类创建了一个对象,并发现有一个名为ComputeChargeTimeRemaining的方法 唯一的问题是,该方法的结果是长数据类型,我不知道如何将该数据类型转换为时间值。。。这正是我决定寻求帮助的原因。。。这是我用来做这件事的代码

class Notes : AppCompatActivity{
//TextView to show remaining charge time
TextView mytext;
//Timer to update the value of the TextView every Second 
System.Timers.Timer _timer;
protected override void OnCreate(Bundle SavedInstanceState){
  mytext=(TextView)FindViewById(Resource.Id.textView1);
_timer=new System.Timers.Timer(1000);
_timer.Enabled =true;
_timer.Elapsed += Timer_Elapsed;
  } 
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
RunOnUiThread(()=>{
BatteryManager batteryManager=(BatteryManager)GetSystemService(Context.BatteryService);
long remaining_time=batteryManager.ComputeRemainingChargeTime();
//Here is where I have a problem converting the long to real hours,minutes time format, please help
}) ;
} 
} 

让我们访问文档:

计算以毫秒为单位的时间近似值 直到电池充满电为止。如果没有时间,则返回-1 被计算:或者没有足够的当前数据进行计算 决定或电池当前正在放电

那么我们该如何应对呢

A应该这样做

var timeSpan = TimeSpan.FromMilliseconds(remaining_time);
现在你有了TimeSpan的特性,比如小时、分钟、秒。TotalMinutes等,还有格式说明符:

var小时timeSpan.小时; var分钟=时间跨度分钟; //或 var str=timespan.ToStringhh\\:mm\\:ss;
请发布显示分钟和小时的完整解决方案…@codertimethy已更新。如何检测充电器是否损坏connected@CoderTimothy这是另一个问题。如果你问另一个问题,肯定会有人回答