今回注目する点はこちら
https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/config.xml
フレームワークにおける設定を tether で検索してみたです。
特に注目したい点はここらへん
[java]
[/java]
つまり、テザリングをする場合に別のダイヤルアップ接続をするかどうかと、する場合にどこに接続するかという設定です。
実装を見てみましょう
[java]
public boolean isDunRequired() {
boolean defaultVal = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_tether_dun_required);
boolean result = (Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.TETHER_DUN_REQUIRED, (defaultVal ? 1 : 0)) == 1);
return result;
}
[/java]
Settings.Secure.TETHER_DUN_REQUIREDで設定されている場合はそちらが優先されるようですが、通常のAPNで設定した接続に関係なく、テザリング時には別のAPNに接続されてしまうということですね。接続先によって速度を制限したり、料金体系を変えるというのはどこかで聞いt…ん?こんな時間に誰だろう…
ちなみにビルドすると設定は framework-res.apk の res/values/bools.xml と strings.xml に入るようです。
だからなんだとか言われても困りますが、公開されているソースを眺めてるだけですよ?
コメント
[…] Androidに関する、はてなブックマーク新着情報です。 [Android] ソースコードから見る公式テザリングとAPN : 8796.jp管理日誌 […]
[…] tether_dun_required が 1 だとテザリングするときに DUN が必須になって別の APN に繋ぎに行こうとするような気がします。 […]