当前位置: 首页 > 知识库问答 >
问题:

如何通过Android应用程序设置设备时间

令狐跃
2023-03-14

我创建了一个android应用程序,它必须设置设备的时间,因为设备不能记住时间。不知道如何设置设备的时间。

Date c = Calendar.getInstance().getTime();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy 
HH:mm:ss");
String formattedDate = df.format(c);

SharedPreferences time = getSharedPreferences("PREFS",0);

Date Time = null;
try {
    Time = df.parse(time.getString("time",""));
} catch (ParseException e) {
    e.printStackTrace();
}
if (Time == null)
{
    SharedPreferences.Editor editor = time.edit();
    editor.putString("time", formattedDate);
    editor.apply();
    Toast.makeText(MainActivity.this, formattedDate, 
    Toast.LENGTH_SHORT).show();
}
else
{
    try {
        if (Time.before(df.parse(formattedDate)))
        {
            SharedPreferences.Editor editor = time.edit();
            editor.putString("time", formattedDate);
            editor.apply();

            **** I want set device's time here from "time"
        }
        if (Time.after(df.parse(formattedDate)))
        {
            **** I want set device's time here from "time"
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

共有1个答案

仲元凯
2023-03-14

在清单文件中添加以下行以请求权限:

<uses-permission android:name="android.permission.SET_TIME"
        tools:ignore="ProtectedPermissions" />
    <permission android:name="android.permission.SET_TIME" android:protectionLevel="signature|system"/>

在java代码中:

Calendar c = Calendar.getInstance();
    c.set(year, month, day, hour, minutes, seconds);
    AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
    am.setTime(c.getTimeInMillis());
 类似资料:
  • 我需要启动android前台服务,并在设备启动时从服务启动活动。我广泛地搜索了web和stackoverflow并尝试了不同的建议,但非常奇怪的是,我不能使这个功能工作。 我不明白我做错了什么。 下面是来自我的项目的代码和清单文件的内容。 我做错了什么,如何解决它,在大多数android设备上工作的功能? 这是我的AndroidManifest.xml: 这是我的austostart.java:

  • 我也尝试过这个其他的解决方案。

  • 问题内容: 如何为Android应用程序设置IntelliJ IDEA? 问题答案: 我花了整整一天的时间尝试将所有内容组合在一起,涉及数百个站点和教程,但是它们都跳过了琐碎的步骤。 因此,这里是完整的指南: 下载并安装 Java JDK (选择Java平台) 下载并安装 Android SDK (建议安装程序) android SD完成安装后,在 Android SDK Tools* 下打开 S

  • 我想连接一个android设备直接从我的环境android studio测试我的应用程序 android Studio-http://developer.android.com/sdk/index.html 我有一个三星galaxy s5设备,我已经把它连接到usb上,我已经安装了这个驱动程序: http://developer.samsung.com/technical-doc/view.do?

  • 我正在使用Windows8。我正在尝试在设备上运行应用程序。找不到我的设备,设备USB调试已启用。此外,我已经安装了相同的驱动程序使用管理我也安装了谷歌USB驱动程序包。但仍然找不到该设备。 拜托,有人能帮忙吗