DownloadManagerを使用して、Mobile/4G接続を使用しようとしたときに私が作成しているが、この問題を実行しているダウンロードをキューに入れています。私はAndroid 2.3.4の携帯電話を使用しています。私のコードは2.3.3 APIを使用しています。それはしかし、ダウンロードしようとするたびにAndroid DownloadManager 'Download Requires Network'エラー
私は
request.setAllowedNetworkTypes(Request.NETWORK_MOBILE);
(私は4G/3Gを使用する接続を強制したい)は、次のコマンドをやっている、それは上場DownloadManagerでダウンロードを置くが、それは永遠に残ります「進行中」のステータスで、上部にエラーが表示され、ファイル名と「ダウンロードが必要です」というエラーが表示されます。
私はさらに調査し、logcatでログを見るために私のデバイスを接続した場合、それはダウンロードしようとしたとき、私は次のエラーを参照してください。
は、ダウンロード92の要求を中止:ダウンロードは、現在のネットワークタイプを使用しないように要求されました
I次の権限を持っている:それは何ができるかの
android.permission.WRITE_OWNER_DATA
android.permission.READ_OWNER_DATA
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_STATE
任意のアイデア?私はまだ許可がありませんか?ネットワーク接続の使用のみを指定するために制御する必要がある別の設定がありますか?
EDIT: 私はこれを新しいGalaxyタブレットで試しました。これは私がこのデバイスを使用して気付いた動作です.WiFiがオンで接続されている場合、NETWORK_MOBILEを使用するように指定するとダウンロードできません。 Wi-Fiがオフになっているか接続されていない場合、4G接続を使用しても問題ありません。私はこれがデバイスによって行われているセキュリティ機能だと思っています。これは無効にすることができますか?
メインスレッドでDownloadManagerを使用していますか? –
私は以下のような活動をしています。 インテントi =新しいインテント(); i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS); startActivity(i); また、私は役に立たないようにしてみました: ConnectivityManager cm =(ConnectivityManager)getBaseContext()。getSystemService(Context.CONNECTIVITY_SERVICE); cm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE、 "enableHIPRI"); – azdragon2
DownloadManagerはApiレベル9(2.3 Gingerbread)まで利用できなかったので、2.3 apiを使用していることを意味しますか? –