私はそれにサービスアクティビティとスレッドを持っています。問題は、電話機がスリープモードに移行し、スレッドがHTTP要求を送信しなかった場合です。接続できない場合はネットワーク状態を確認しますが、接続許可書を取得すると「権限拒否:設定を保護するにはandroid.permission.WRITE_SECURE_SETTINGSが必要です」というエラーが表示されます。しかし、私はすでにAndroidManifest.xmlにpermissionタグを入れています。私もこれを試してください:スリープモードでAndroidのインターネット接続に問題がありますか?
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK , "TAG");
wl.acquire();
しかし、それは私の問題を解決していません。 phone既にスリープモードに入っています。ここに私の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は、サービス{ .....
private Runnable httpThread = new Runnable() {
public void run() {
//i send http request here
}
}
を拡張するアプリケーションがAndroidManifest.xml
でandroid.permission.WRITE_SECURE_SETTINGS
を要求したにもかかわらず...
私にとっては不可能ですか?私に何ができる?私のアプリケーションはスリープモードでリクエストしませんでしたか? –
ほとんどの場合、アプリケーションは接続を制御できません。接続が利用可能であるか失われている場合にのみ反応します。スリープモードでのネットワーキングを可能にするのは、Androidとユーザーのビジネスです。 – inazaruk
私の携帯電話がスリープモードになるのはなぜですか?私はすでにパワーマネージャとウェイクロッククラスを使用しています。スリープモードでネットワーキングを許可する方法は? –