在Android上更改时间/日期设置?

时间:2013-10-21 08:48:50

标签: java android

我创建了一个在Android上更改日期/时间设置的应用程序,但是如果我测试它,它就不起作用。

是因为安全来自系统内部的android?

或者出了什么问题?

这是我的代码:

if (killed) {
// TODO Auto-generated method stub
AlarmManager a = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
long current_time_milliens = System
.currentTimeMillis();
try {
a.setTime((long) current_time_milliens - 86400);
} catch (Exception e) {
}

谢谢。

2 个答案:

答案 0 :(得分:1)

除非系统应用程序(保护级别为signatureOrSystem)或您的手机已植根(因为linux层中有保护),否则您无法更改此设置。这意味着,如果它是常规Play应用程序,则无法实现。此外,如果您成功满足上述要求,您的应用程序还需要android.permission.SET_TIME权限。

从非系统应用程序更改时间的唯一方法是让用户手动设置:

startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS));

答案 1 :(得分:0)

David Wasser回答了类似的问题;
“应用程序无法更改(非根)Android设备上的日期或时间。

来自AlarmManager.setTime()的文档:

  

需要权限android.permission.SET_TIME。

请参阅http://developer.android.com/reference/android/app/AlarmManager.html

原评:
getting method not found setTime(long) in AlarmManager when tried to set time and date in android system time