Android 使用cordova更改设备时间

Android 使用cordova更改设备时间,android,cordova,Android,Cordova,有没有办法从cordova应用程序更改android设备的时间? 我需要将设备时间与服务器同步。 应用程序从webapi获取服务器时间,如果它与设备时间不同,我想更改设备时间。 谢谢你不应该为了让你的应用程序工作而试图弯曲整个设备。如果服务器时间错误怎么办?如果用户想要不同的时间怎么办 我们对应用程序也有同样的需求,我们正在做的是在服务器时间运行应用程序 这是Java中的原生Android,但我认为这个想法应该很清楚,在Cordova中也应该是可能的 所以我们有这个ServerTime类,当我们

有没有办法从cordova应用程序更改android设备的时间? 我需要将设备时间与服务器同步。 应用程序从webapi获取服务器时间,如果它与设备时间不同,我想更改设备时间。
谢谢

你不应该为了让你的应用程序工作而试图弯曲整个设备。如果服务器时间错误怎么办?如果用户想要不同的时间怎么办

我们对应用程序也有同样的需求,我们正在做的是在服务器时间运行应用程序

这是Java中的原生Android,但我认为这个想法应该很清楚,在Cordova中也应该是可能的

所以我们有这个ServerTime类,当我们需要应用程序中的当前时间时,我们不使用new Date或System.currentTimeMillis,而是使用ServerTime.now

这个类看起来像这样,是从内存中编写的,并且经过简化,请务必进行测试,可能差异计算应该是+而不是-…:

public static class ServerTime {

    private static long diffMillis;

    public static Date now() {
        long millis = System.currentTimeMillis() - diffMillis;
        return new Date(millis;
    }

    public static void update(long serverTimeMillis) {
        diffMillis = System.currentTimeMillis() - serverTimeMillis;
    }
 }

服务器为每个响应提供服务器时间,此外,我们每隔15分钟左右轮询服务器时间。无论何时我们得到服务器的时间,我们都会调用ServerTime.updateserver的时间(单位:毫秒)。

在Cordova中,这可以在Webview的Javascript层中完成,在iOS上也同样有效