android上怎么解决电脑自动锁屏直接休眠后休眠的问题

9157人阅读
android(63)
开发过程中,发现手机锁屏/休眠会导致通信有问题。调试后发现是socket断开了,这是与wifi有关系,而wifi的问题又与手机休眠有关。
1.可以手动设置
设置——无线和网络——WLAN——高级设定——睡眠期间保持WLAN开启——总是
然而,并不是所以有手机都有这个设置,因为有些系统被开发商定制(阄割)了。
2.代码设置
public void setWifiDormancy(Context context){
int value = Settings.System.getInt(context.getContentResolver(), Settings.System.WIFI_SLEEP_POLICY,
Settings.System.WIFI_SLEEP_POLICY_DEFAULT);
Log.d(TAG, "setWifiDormancy() returned: " + value);
final SharedPreferences prefs = context.getSharedPreferences("wifi_sleep_policy", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(ConfigManager.WIFI_SLEEP_POLICY, value);
editor.commit();
if(Settings.System.WIFI_SLEEP_POLICY_NEVER != value){
Settings.System.putInt(context.getContentResolver(), Settings.System.WIFI_SLEEP_POLICY, Settings.System.WIFI_SLEEP_POLICY_NEVER);
}//恢复public void restoreWifiDormancy(Context context){
final SharedPreferences prefs = context.getSharedPreferences("wifi_sleep_policy", Context.MODE_PRIVATE);
int defaultPolicy = prefs.getInt(ConfigManager.WIFI_SLEEP_POLICY, Settings.System.WIFI_SLEEP_POLICY_DEFAULT);
Settings.System.putInt(context.getContentResolver(), Settings.System.WIFI_SLEEP_POLICY, defaultPolicy);
}加权限:&uses-permission android:name="android.permission.WRITE_SETTINGS"/&
ref:http://blog.csdn.net/mrlixirong/article/details/
然而,对我的应用却无效 。上述文章作者最后使用service解决了“当采用Service时,网络连接就持续保持顺畅了。而且不管WIFI休眠政策设置如何,黑屏以后都可以保持联网”。下次有时间再验证这种方法。
3.在2的基础上,结合使用。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
..screen will stay on during this section..
wl.release();
因为app使用activity,故在oncreate中wl.acquire();,在ondestroy中wl.release();
加权限:android.permission.WAKE_LOCK
问题到此暂时解决。
ref:http://stackoverflow.com/questions//keeping-wifi-connection-on-when-android-mobile-sleepsandroid手机休眠,就是锁屏后service就不工作了,怎样解决_百度知道
android手机休眠,就是锁屏后service就不工作了,怎样解决
我有更好的答案
  锁屏了以后手机就睡觉了,就是说cup不工作了,你要想让它继续工作,就必须在程序里面获得锁,当你程序退出后在释放锁,不然的话你的手机电池很快就被耗完了,这个锁要慎用,不然手机不能休眠会很耗电的。  要明确的 问题就是:屏幕锁,屏幕黑,并不代表手机进入休眠了,可能cpu还在工作。  希望能帮到楼主
资深电脑人
为您推荐:
其他类似问题
android手机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。3569人阅读
android(42)
这个有两个方式:
一种是直接使用api修改;
另一种是修改系统数据库;
调用api需要添加权限,而修改数据库不用。
1、api设置
Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,15*1000);
权限:&uses-permission android:name="android.permission.WRITE_SETTINGS" /&
时长是单位是毫秒
这个并不能设置永久休眠,PowerManagerService的源码的getScreenOffTimeoutLocked方法最后return那里的max方法,说明最短只能10秒
private static final int MINIMUM_SCREEN_OFF_TIMEOUT = 10 * 1000;
private int getScreenOffTimeoutLocked() {
int timeout = mScreenOffTimeoutS
if (isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
timeout = Math.min(timeout, mMaximumScreenOffTimeoutFromDeviceAdmin);
if (mUserActivityTimeoutOverrideFromWindowManager &= 0) {
timeout = (int)Math.min(timeout, mUserActivityTimeoutOverrideFromWindowManager);
return Math.max(timeout, MINIMUM_SCREEN_OFF_TIMEOUT);
至于设置不休眠你可以这么写代码:
Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,Integer.MAX_VALUE);貌似大于某个值,系统设置(手机)里面会休眠时长会自动显示为“永久”
2、直接修改系统数据库
路径在/data/data/com.android.providers.settings/databases/settings.db
里面有5,6个表,其中一个表是叫system,其实api修改的就是这个表的screen_off_timeout元组(一行)
system表有三个度,分别是:_id,name,value
所以呢,自己操作数据库,使用语句:
UPDATE system SET value = 'you_time' WHERE name = 'screen_off_timeout' ;
参考博客:怎么在android系统锁屏后使程序继续运行
手机实现程序后台运行的方法:打开软件后不要点击返回键退出,直接点击Home键,该程序将在系统后台运行。
使用service
谁说锁屏后
程序就不再运行了?
锁屏和解锁,系统都有service提供功能了。 DevicePolicyManager的locknow可以锁定,解锁就麻烦点。你参考下,可能不同的机型还有区别。
在设置屏保时 你定时5分钟
然后勾上:在恢复时显示登陆界面。
∵∠MON=∠MOA+∠AON又∠MOA=∠MOC-∠AOC=1/2*(∠AOB+∠AOC)-∠AOC=1/2∠AOB-1/2∠AOC
∠AON=1/2∠AOC∴∠MON=∠MOA+∠AON=1/2∠AOB-1/2∠AOC+1/2∠AOC
=1/2∠AOB
木事,手机中毒又不得瘫痪,照样玩
应该是你的apk里面用到了so库,无法动态加载,你解压出安装错误的apk,应该里面有个so库。
1.桌面右键,个性化,页面底部,屏幕保护程序,设置时间5分钟,在恢复时显示登录屏幕 (打钩)。2.前提是设置好不自动休眠,待机、关机、睡眠等。只是应用锁屏。3.另外注意品牌电脑的电源管理软件,如15分钟关闭硬盘,几分钟关闭显示器等,都取消。4.注意迅雷软件是否之前设置了几分钟自动停止下载或者关闭等。
采纳个毛线,恢复出厂设置,一针搞定,设置里面找
你可能还喜欢
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:怎么解决安卓手机锁屏后联网处于休眠状态的问题?_百度知道
怎么解决安卓手机锁屏后联网处于休眠状态的问题?
使用浏览器自动刷新挂机,屏幕锁定后就没反应了,开屏幕又可以,,,,急啊
我有更好的答案
设置,无线和网络,移动网络,始终连接数据也许打√
为您推荐:
其他类似问题
您可能关注的内容
安卓手机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 mac 锁屏不休眠 的文章

 

随机推荐