最近项目出现了一个bug,进入导航查看GPS定位情况,有时会导致导航软件意外停止,发现是GPS时间有时候不能获取Android系统时间是24小时制还是12小时制,原来使用的是下面的:
ContentResolver cv = this.getActivity().getContentResolver();
// 获取当前系统设置
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);
if(strTimeFormat.equals("24"))
{
mIs24 = true;
Log.i("GpsSatelliteStar", "当前是24制式");
}
if(strTimeFormat.equals("12"))
{
mIs24 = false;
Log.i("GpsSatelliteStar","当前是12制式");
}*/
有的时候不能取到值,所以出现空指针,无奈网上说的比较笼统,菜鸟看不懂,后来试了一次,发现改了下就可以正常使用了。
if(DateFormat.is24HourFormat(getActivity().getApplicationContext())){
mIs24 = true;
Log.i("GpsSatelliteStar", "当前是24制式");
}else{
mIs24 = false;
Log.i("GpsSatelliteStar","当前是12制式");
}
lixuesong13的专栏如果有帮助请帮顶。