3

我正在为我的应用程序开发一个小部件,它可以更改设备的系统时间。我知道,该设备必须根植,这不应该是问题。
您可以将2,15或31天添加到系统时间。更新根植设备上的日期(Android M)

到目前为止,我正在与this方法,它工作正常。

现在,Android M很快就会问世,我在Android M Preview 3上测试了我的应用程序,然后我发现问题,上面的代码只显示了窗口小部件上的日期更改,但它不会更改它装置。

我在adb shell中测试了几种格式,并有一个解决方案,几乎符合我的要求。现在

command = "date -u "+month+day+hour+minute+year+"."+second+"\n"; 

,该设备的日期更改,但是当我加2日子里还将增加2个小时的日期。例如:10.09.2015 09:43 - > 12.09.2015 11:43
如果我在更改日期多次后在设置中选中“自动日期和时间”,设备将随机更改为几个过去的日子,直到我重新启动设备后才会重置。

对此有何看法?

回答

4

您需要使用此命令/格式,因为版本的Android M附带toybox date命令,而不是工具箱定制date命令从L-

adb shell date $(date +%m%d%H%M%Y) 

对于L旧格式是

adb shell date -s $(date +%Y%m%d.%H%M%S) 
+1

Works的我!状态栏时钟似乎没有改变,但系统时间确实如此 – drewi

+1

这种格式是正确的,它适用于当你进入设置 - >日期和时间时,你会看到正确匹配你的新的“设置时间”但我发现多任务停止工作(您无法切换应用程序,触摸按钮时不会发生任何事情),并且小部件时间不会更新。如果您启动时钟应用程序,它会显示新时间,但不会更新。您无法关闭时钟应用程序以尝试重新启动,并且它不会更新到新时间(我认为时钟应用程序会显示当前时间,因为时间会自然改变),并且似乎卡住了。 – garlicman