我有一个服务活动和一个线程。问题是当手机进入睡眠模式时,线程不发送 http 请求并且我检查网络状态,如果它没有连接,我会努力连接它,但我得到“权限被拒绝:写入安全设置需要 android.permission.WRITE_SECURE_SETTINGS”错误。但我已经将权限标签放在 AndroidManifest.xml 中。我也试试这个:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK , "TAG");
wl.acquire();
但这并不能解决我的问题。手机已经进入睡眠模式。这是我的 checkNetwork 代码:
private boolean checkNetwork(){
try{
Context context = getApplicationContext();
ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivity.getActiveNetworkInfo();
if(info == null){
connectivity.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);
int status = connectivity.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "cmwap");
NetworkInfo info1 = connectivity.getActiveNetworkInfo();
return false;
}
if (info.getState() == NetworkInfo.State.CONNECTED )
return true;
return false;
}catch(Exception ex){
return false;
}
}
公共类 MainActivity 扩展 Service { .....
private Runnable httpThread = new Runnable() {
public void run() {
//i send http request here
}
}
请帮忙..