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

Android:在给定时间禁用/启用连接(网络、蓝牙)

阮华美
2023-03-14

为了节省电池,我想在给定时间(比如晚上11点)关闭所有连接(蓝牙、wifi、移动网络)和其他耗电功能。

最好的方法是什么?我考虑的是在引导后启动的服务,因此我不必手动重新启动该服务。一开始,我甚至不需要一个UI应用程序——我可以硬编码关闭的时间。也许以后可以通过GUI更改时间会更好,但这并不是真的必要。

因此,服务需要做一些事情的唯一时间是在我想要的时间,但是为了检测它需要在后台连续运行的时间而不消耗太多的能量。

这种工作最好的方式是什么?

共有1个答案

蔡晨
2023-03-14

我想这就是你想要的:

https://developer.android.com/reference/android/app/AlarmManager.html

您可以发送重复警报,该警报将在一天中的特定时间触发要做的服务(或您想要的任何操作)。请参考下面的具体时间设置:

Intent myIntent = new Intent(AndroidAlarmService.this, KillNetworkService.class);
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0);

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(System.currentTimeMillis());

calendar.set(Calendar.HOUR_OF_DAY, 23); //23 for 11pm
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 0);

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

例如,它将在每天晚上11点启动KillNetworkService.class,从该服务,您现在可以关闭网络。

报警管理器教程参考:http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html

 类似资料:
  • 我有一个应用程序,可以管理设备的wifi和蓝牙状态。为此,它接收到一条带有状态的消息,并且该状态是否应该被强制。然后应用状态并保存两个值。 例如:我发送消息禁用wifi并强制使用。然后我关闭无线网络,拯救国家,这是被迫的。此外,我有一个BroadcastRecector,监听无线网络状态的变化,如果收到,它首先检查是否启用了无线网络,如果这是好的。这就像一个魅力:公共类无线状态接收器扩展了广播接收

  • 我正在开发一个应用程序来控制自定义设备。该定制设备具有双模蓝牙功能,可在双模功能下接受Android和iOS连接。 有了Android,我需要使用经典连接。我用几部智能手机和平板电脑做了一些测试。然而,对于一些平板电脑型号,我很难连接。 我有一台联发科的MT6572 SOC平板电脑,它有4.4.2Android系统。我也有一个三星Galaxy Tab E和展讯的SC8830 SOC,它有4.4.4

  • 问题内容: 我在使用时遇到了麻烦,因为我之前从未见过它,也不知道我在用它做什么。 基本上,我正在关闭部队,因为我试图在主类上运行连接。有人可以帮我添加代码吗: 问题答案: 只是一个简单的例子,它看起来像:

  • 我在下面的代码中得到安全证书错误(源代码)。例外情况是: javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径 如何禁用安全证书

  • 我在主视图中有两个按钮,按钮1和按钮2。我怎样才能在特定时间段禁用按钮1,在该时间段之后,它应该再次启用。

  • 我在Android应用程序,涉及连接一个特定的WiFi SSID没有密码。每当用户进入应用程序时,应用程序都会通过BLE检测特定的信标。之后,该应用程序尝试使用WifiManager连接应用程序代码中编程的WiFi。在这里,我面临一些问题: 1)如果WiFi已经禁用在手机-应用程序启用WiFi并尝试连接到已经配置的WiFi(可能是字母顺序)。在这种情况下,它可能会连接另一个可用的WiFi,并在手机