古いAndroidではバックグラウンドデータ通信を無効にできないかも!? 「バックグラウンドデータ」設定の意外な裏側【吉川英一の「スマホのちょっと深いとこ」】 (S-MAX)
一言で言ってしまえば「Android 4.0未満のバックグラウンドデータ設定はあてにならない」となります。もう一言だけ補足するならば「Android 4.0未満ではバックグラウンドデータの設定を見てアプリが自分で通信するかどうか決めなければならない」という、利用者にとっても開発者にとっても誰得な仕様になっているわけです。
端末に「バックグラウンドデータ」という設定項目があってON/OFFできるなら、OFFに設定したときにはOSがバックグラウンドデータをブロックするのが常識的な動作ですよね。Androidでは4.0になってようやくそうなったということです。
今回はサンプルアプリを作って実際にAndroid 2.3と4.0の端末で動作確認しています。余談ですが以前iOS 7のマルチタスキングについて紹介した時も(記事内では取り上げませんでしたが)常に数字をカウントアップし続けるアプリを作ってバックグラウンドにした時にカウントアップが止まること(=iOS 7でもバックグラウンドで無条件にアプリが動くわけではないこと)を確認したりしています。いつもこうできるとは思っていませんが、開発系のネタを取り上げるときは可能な限り自分で動きを確認して記事にしていければと思っています。