当前位置:首页 » 安卓系统 » android流量开关

android流量开关

发布时间: 2022-09-12 21:59:45

安卓手机流量开关控制在那

点设置---无线和网络----移动网络。在这里打开就是连接,去掉勾就是断开。还可以下个一键开关用

⑵ Android7.0开发怎么实现流量开关

1. 简介 我的实现是在设置程序里面增加一个接口,让用户设置自动开关机,这个自动开关机的设置可以参照闹钟的设置。关于自动关机,考虑到关机的时候,用户可能正有一些重要的操作,那么应该给用户一个机会去取消当前的关机。 1)一个BroadcastReceiver, 接收如下信息: a) 自定义的ACTION_REQUEST_POWER_OFF:设置auto power off时,通过AlarmManager设置的一个RTC_WAKEUP时钟。当到设置的关机时间时,之前设置到AlarmManager的这个action会被广播。我们实现的这个BroadcastReceiver接收到这个消息后,就要开始power off流程 b) 自定义的ACTION_REQUEST_POWER_ON:设置auto power on时,通过AlarmManager设置的一个RTC_WAKEUP时钟。我们知道power on的应该设置一个rtc的alarm,那么这个RTC_WAKEUP的alarm是做什么的呢?其实当用户设置自动关机的 时候,我设置了2个时钟,一个是RTC时钟,用于关机状态下开机;还有一个就是这个RTC_WAKEUP时钟。之所以设置这个时钟,其实是这样的,比如说 你设置了周一到周五每天7点半自动开机,而周四早上你7点就打开了手机,这样到7点半的时候,之前设置的时钟就过期了,如果不重新设置的话,周五早上是不 会自动开机的。所以这个时候,之前设置的RTC_WAKEUP就接收到了这样的信息,在重新设置下次自动开机的时钟。 c) BOOT_COMPLETE和TIMEZONE changed, Time set等时间相关的action:当系统开机完成或时间、时区发生改变时,都需要重新设置alarm。 2)一个处理power off 的Service,当BroadcastReceiver接收到ACTION_REQUEST_POWER_OFF,我们给用户一个机会去取消当前的自动关机。这个Service的作用就是启动一个无背景的页面,给用户提示。同时播放之前用户设置的提示音或振动。 3)一个Activity:显示一个dialog提示用户要自动关机,并用一个计时器倒计时。当用户确认关机,或者计时器到时间的时候,就关机。否则取消当前关机,并重设下次自动关机alarm。 2. 自动关机的实现 自动关机的实现比较简单,这里主要说一下怎么设置alarm,和实现关机: 1)设置自动关机的alarm: AlarmManager am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent( "com.android.settings.action.REQUEST_POWER_OFF"); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, time, pendingIntent); 2)自动关机调的是: ./frameworks/base/services/java/com/android/server/ShutdownActivity.java Intent newIntent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN); newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(newIntent); Intent.ACTION_REQUEST_SHUTDOWN是Intent里面一个隐藏的action。 3. 自动开机的实现 一直在做上层应用和framework,对于底层不是很熟悉。正好有同事之前做过关机闹铃,所以把他之前的实现稍加改动就可以了。在系统power off的状态下自动开机,我们需要设置一个rtc时钟,当用户设置自动开机时,由AlarmManagerService将时钟设置下去。这学要底层的支持。这里的实现是定义一个我们自己的rtc alarm type: 1) 首先要在头文件里面定义: a) kernel/include/linux/android_alarm.h #define ANDROID_ALARM_GET_TIME(type) ALARM_IOW(4, type, struct timespec) #define ANDROID_ALARM_SET_RTC _IOW('a', 5, struct timespec) #define ANDROID_RTC_ALARM_SET _IOW('a', 7, int) #define ANDROID_ALARM_BASE_CMD(cmd) (cmd & ~(_IOC(0, 0, 0xf0, 0))) b) bionic/libc/kernel/common/linux/android_alarm.h #define ANDROID_RTC_ALARM_SET _IOW('a', 7, int) 2) 定义完成之后,还需要实现:在kernel/drivers/rtc/alarm-dev.c文件的alarm_ioctl方法里面,增加一个case,实现设置alarm: case ANDROID_RTC_ALARM_SET: { unsigned int rtc_alarm_time; struct rtc_time rtc_now; if (_from_user(&rtc_alarm_time, (void __user *)arg, sizeof(rtc_alarm_time))) { rv = -EFAULT; goto err1; } if (pmic_rtc_get_time(&rtc_now) < 0) { rtc_now.sec = 0; if (pmic_rtc_start(&rtc_now) < 0) { printk("get and set rtc info failedn"); break; } } pmic_rtc_disable_alarm(PM_RTC_ALARM_1); rtc_now.sec += rtc_alarm_time; pmic_rtc_enable_alarm(PM_RTC_ALARM_1, &rtc_now); break; } 当然不要忘记增加一个include: #include 3)在frameworks/base/services/jni/com_android_server_AlarmManagerService.cpp里面增加一个方法去设置时钟: static void android_server_AlarmManagerService_updateRtcAlarm(JNIEnv* env, jobject obj, jint fd, jint seconds) { #if HAVE_ANDROID_OS int result = ioctl(fd, ANDROID_RTC_ALARM_SET, &seconds); LOGE("set rtc alarm to %d later: %sn", seconds, strerror(errno)); if (result < 0) { LOGE("Unable to set rtc alarm to %d later: %sn", seconds, strerror(errno)); } #endif } 还有就是不要忘记定义一下接口: {"updateRtcAlarm", "(II)V", (void*)android_server_AlarmManagerService_updateRtcAlarm}, 4) 在frameworks/base/services/java/com/android/server/AlarmManagerService.java里面定义native的设置alarm的方法,然后调用就可以实现将自动关机的alarm设置下去了: 定义:private native void updateRtcAlarm(int fd, int seconds); 调用: public void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation) { if (operation == null) { Slog.w(TAG, "set/setRepeating ignored because there is no intent"); return; } synchronized (mLock) { Alarm alarm = new Alarm(); alarm.type = type; alarm.when = triggerAtTime; alarm.repeatInterval = interval; alarm.operation = operation; // Remove this alarm if already scheled. removeLocked(operation); if (localLOGV) Slog.v(TAG, "set: " + alarm); int index = addAlarmLocked(alarm); if (index == 0) { setLocked(alarm); } // Start to setup auto power on alarm if ((alarm.type == AlarmManager.ELAPSED_REALTIME_WAKEUP) && alarm.operation.getTargetPackage().equals("com.android.settings")) { updateRtcAlarm(mDescriptor, (int)((alarm.when - System.currentTimeMillis()) / 1000)); } // End to setup auto power on alarm } } 5)在应用层设置自动开机: AlarmManager am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent( "com.android.settings.action.REQUEST_POWER_ON"); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, time, pendingIntent); 4. 总结 1)自动开机原理比较简单,但是需要底层的支持,所以对于做应用或者framework层的技术人员来说,实现起来稍微比较麻烦。 2) 在设置自动开关机的时候,需要考虑的情况很多,比如是否设置时间/时区的改变,手机当前是开机还是关机状态等。

⑶ 安卓流量开关在哪里

以我的MoTo
X316
安卓2.2
作为参考,操作如下:
设置
-
无线和网络
-
移动网络
-
已启用数据
打上“√

如果不需要上网,那就不打“√”
上网这个开关开着或关掉都是一样的,只有在上网的时候才产生流量。

⑷ 安卓手机如何安时间设置流量开关

如果最近手机流量总是不够用,网络还有网络福利:1分钱领好多流量,

这是活动链接:https://1..com/?invite_code=AUAJ9VU5

一分钱领移动70M流量/电信100M/联通50M,另外一分钱还有其他的活动,

流量包在48-72小时内充值完成,由于运营商系统原因,导致流量叠加包部分充值失败的手机号,网络钱包将为用户自动退款到银行卡。
1.流量套餐为运营商的通用流量。
2.该活动订购手机流量不会对用户产生额外费用,用户号码如因此扣费是由于运营商测系统错误造成的,并不是网络进行了扣费,请用户联系当地运营商客服处理。
3.运营商部分新开号段暂时无法支持,请联系客户跟新后再试。
4.虚拟运营商号码无法参加活动。

⑸ 关于android手机流量开关的问题!为什么流量开关已经关闭,但是手机上面依然会显示G

三星机是这样的,你上网的时候G会变色的。

⑹ 安卓怎么关闭某个软件流量开关

1.
打开设置
2.
点开任务管理器,
3.
强行停止,
4.
这个方法只是暂时性的
5.
下载手机管家【腾讯】
6.
设置自启软件,
7.
去掉不想要的就OK
可以去试试,

⑺ 有没有安卓桌面流量开关插件,好像流量监控的那种,但是是流量开关。

安卓优化大师,里面的七键开关很好用的,可以设置流量开关,自动旋转开关,铃声模式转换开关,震动,静音,响铃,还有文件管理,自动同步,亮度调整开关,而且诶大师还有垃圾清除,开机加速,短信备份还原,快捷功能,翻转静音啊,自动飞行啊

热点内容
php人力 发布:2025-01-05 09:50:25 浏览:234
紫头蒜存储 发布:2025-01-05 09:29:48 浏览:33
c语言执行shell 发布:2025-01-05 09:25:26 浏览:414
sql数据库管理器 发布:2025-01-05 09:17:27 浏览:860
安卓如何获取callkit测试权限 发布:2025-01-05 09:17:23 浏览:894
解压是出现错误 发布:2025-01-05 09:17:15 浏览:363
风柜冷量算法 发布:2025-01-05 09:15:04 浏览:357
脚本被检测到游戏行为违规 发布:2025-01-05 08:40:55 浏览:615
手柄蓝牙编程 发布:2025-01-05 08:40:54 浏览:995
云服务器搭桥 发布:2025-01-05 08:40:12 浏览:420