駄開発駄メモ 駄開発に関することを。

2012年8月23日

APN設定を固定するAndroidアプリ(FixAPN)を作ってみた

Filed under: プログラム — タグ: — m.takemi @ 10:26 PM

FixAPN – Google Play の Android アプリ
APN設定を固定すると言っても、ユーザ名とか、パスワードみたいな設定値を固定するのではなく、接続しているAPNから別のAPNに切り替え出来なくする感じです。(厳密に言うと、別のに切り替わったら戻すだけ)

FixAPN_1
↑は、APN設定をIIJmioに固定。

FixAPN_2

手持ちのP-01Dで、それなりに動作する事は確認。その他は動くかもしれませんが動かないかもしれません。動けば良いなとは思ってますが。

Android4(ICS)のエミュレータで動かしてみたところ、APN設定を変更する箇所で、Exceptionが発生しますので、Android4以降の端末では動作しなそうです。
WRITE_APN_SETTINGS permission on ICS – Google グループ 辺りに、関連しそうなことが書いてそうですが、良く分からず。

起動時にWi-Fi APモードをONにする設定を付けたのは、P-01Dが原因不明の再起動(結構頻繁に発生)した時、再起動前にWi-Fi APモード中であっても、再起動後はWi-Fi APモードをOFFにして立ち上がってくるので。

 

2012/8/26 01:54 追記

FixAPNの動作について、コメントを頂いた。要約すると

  1. テザリングOFFの状態で再起動したのに起動時に、テザリングONで立ち上がった。
  2. WifiOffでアンドロイドの設定でAPNの所を見たり、していると勝手にWifiONになった。

1については、「起動時にWi-Fi APモード」をONにしている場合、想定通りの動作。だけど、説明の書き方が悪かったなぁと。

ついでに、端末起動時に、Wi-Fi APモードにする設定も。(前の設定を引き継がない端末向け)

前の設定を引き継がない端末向けの設定なら、ちゃんと引き継げよと。
で、そういう設定を追加してみた。
device-2012-08-26-013630

2については、よく分からず。Wi-Fi APモードをONにする処理はあるけど、Wi-FiのON/OFFを行うような処理は無いし、、、Wi-Fi APモードをONにする処理はあると言っても、起動時しか動作しないし。。
APN設定を戻したりすると、標準機能の何かに影響を与えてWi-FiがONになったりするとか?う~ん・・・。再現性あると厄介だなぁ。。

2012/8/30 23:46 追記
2については、ECOナビが原因とコメント頂きました。
とりあえず一安心。

33 Comments »

  1. そちら様のアプリで今日はとっても、しあわせになれましたのでマーケットにコメントしておきました!
    このアプリ有料でもいけるかも!!

    コメント by 石川 — 2012年8月26日 @ 5:28 AM

  2. ありがとうございます~

    コメント by m.takemi — 2012年8月26日 @ 10:52 AM

  3. f12cではどうやらダメなようです。
    設定で起動時APモードにしても、強制でAPNが変更されます

    コメント by k — 2012年8月28日 @ 5:29 AM

  4. 強制的にAPNが変更された後、戻らないってことですか・・・。
    f12cの実機持ってないので確認出来ないですが、何か条件があるんですかね。。
    とりあえず、f12cで動かない旨を説明に書いておきます。ありがとうございました。

    コメント by m.takemi — 2012年8月28日 @ 11:45 PM

  5. wifiアクセスポイントをOFFにすると元のAPNには戻るんですけどね
    この機種は以前のビルドバージョンでは自由にAPNを選べたので
    「ビルドV20 非rootで調査」
    と書き加えると助かります

    コメント by k — 2012年8月30日 @ 1:47 AM

  6. 8月26日分で取り上げられたコメント投稿したものです。
    2に関しては完全に当方の環境のせいでした、全く申し訳無いコメントを投稿してしまいました。
    申し訳ないです、マーケットの方のコメント修正したのですが、履歴で残るのですかね?
    2に関しての原因はECOナビを。。。。でした

    コメント by マーケットでコメントしたものです — 2012年8月30日 @ 8:12 PM

  7. >kさん
    追加します。情報ありがとうございました。

    >”マーケットでコメントしたものです”さん
    原因分かって良かったです。お気になさらず~。(履歴はちょっと分からないです)
    1の指摘ありがとうございました。参考になりました。

    コメント by m.takemi — 2012年8月30日 @ 11:46 PM

  8. 便利に使わせて貰っています!!
    因みにSH-12Cでは駄目でした
    SH-12CではFixAPN上では書き換えられて無い様に見えるのですが
    3G通信出来ませんでした、APN切り替えで見るとTetheringと言うのに切り替えれていました
    因みにAPN切り替えで切り替えても駄目でした。
    シャープ真面目に作り過ぎ。。。Σ(^∀^;)

    コメント by マーケットでコメントしたものです — 2012年8月31日 @ 12:13 AM

  9. 説明に追加しときます~。m(__)m
    まともに動くのはP-01Dだけなのではという疑惑が。。

    コメント by m.takemi — 2012年9月1日 @ 6:35 AM

  10. p-01dでbiglobeのsimの組み合わせですが、デザリングが使えました。

    コメント by takezo — 2012年10月6日 @ 6:31 AM

  11. ありがとうございます。
    p-01dであれば、概ね動いてそうですね。

    コメント by m.takemi — 2012年10月7日 @ 11:21 PM

  12. ありがとうございます。おかげで死んだおばあちゃんが甦ってきてくれました。
    ほんとうにありがとうございました。

    コメント by p-01d — 2012年10月14日 @ 7:29 PM

  13. お役に立った(?)ようで何よりです^ ^;
    末永いご健康をお祈りします。

    コメント by m.takemi — 2012年10月14日 @ 10:57 PM

  14. 私の環境だけかもしれませんが、このソフトでAPN固定後、テザリングの設定を変更(暗号化の有無)語、2回目以降のテザリング使用時、通知がループしてテザリング状態にならなくなってしまいました。
    端末を再起動して1回目は成功するのですが、2回目以降では同じようにループします。
    P-01D、0068です。

    コメント by masimo — 2012年10月23日 @ 7:43 PM

  15. う~ん・・・遭遇したこと無い事象です。。

    1. APN固定
    2. テザリングON
    3. テザリング設定変更(暗号化有無変更)
    4. テザリングOFF
    5. テザリングON

    この後、テザリングの通知?がループする感じでしょうか?
    やってみましたが、発生せず。。
    テザリングON/OFFのタイミングを変えて、何回かやってみても発生せず。

    コメント by m.takemi — 2012年10月23日 @ 11:10 PM

  16. テザリングONにするとたまにエラーになるな。
    通知がループする現象と関係あるんだろうか。。

    コメント by m.takemi — 2012年10月27日 @ 2:00 PM

  17. 悩んでいたことを呟いたら、このアプリを紹介されました。
    できれば人柱でF-01D Android3.2で使いたいのですがよろしくお願いします。

    コメント by dobac — 2012年11月4日 @ 6:45 PM

  18. F-01Dで、動作しなかったということでしょうか?
    F-01Dを所持していないので動作確認できないですが、Android3.2のエミュレータで動かしてみたところ、一応動作するように見えます。
    なので、F-01Dで動作しないとしたら、F-01Dの独自実装でAPNの切り替えを出来なくしてたりするかもしれないですね。(推測ですが。。)

    コメント by m.takemi — 2012年11月5日 @ 12:19 AM

  19. すみません、お返事遅くなりました。
    結論から言うと直りました。
    最初にFixAPNを入れたのは0062だったのですが、そのとき通知のループ現象が発生しました。
    その後、0068にバージョンアップしたものの改善されなかったのですが、APN設定を削除→再登録したところ、正常に動作するようになりました。

    お騒がせしました。

    コメント by masimo — 2012年11月5日 @ 9:54 AM

  20. あ、いえ、そもそもインストールはおろかバージョンチェック?か何かでダウンロードができません、という意味です。

    コメント by dobac — 2012年11月5日 @ 10:37 PM

  21. >masimoさん
    う~ん・・APN設定の再登録で改善する理由がよく分からないですね。0062と0068で設定情報が変わったりするのかな。。
    情報ありがとうございました。

    コメント by m.takemi — 2012年11月6日 @ 9:17 PM

  22. >dobacさん
    なんと!?
    ・・・ちょっと調べてみました。
    FixAPNは、android.hardware.telephony、android.hardware.touchscreen、android.hardware.wifi が必要ですが、
    F-01D (3.2)の端末情報を見ると、
    android.hardware.telephonyが無いので、Google playで表示されないっぽいですね。
    なので、F-01Dでは使えないと思います。

    それでもダメ元で動かしてみたいとかあるなら、一応置いておきますが。。。FixAPN-0.002.apk(md5)

    コメント by m.takemi — 2012年11月6日 @ 11:01 PM

  23. ありがとうございます!インストールできました!
    docomoのXi Wi-FiルータのSIMを刺してmopera U固定にしてみたのですが、
    どうしてもSPモードになってしまうようです。
    残念…

    コメント by dobac — 2012年11月7日 @ 12:25 AM

  24. そうですか・・残念。

    コメント by m.takemi — 2012年11月7日 @ 4:09 PM

  25. SO-02D 6.0.A5.14にて 動作しませんでした…Android2.37です。APNが変更かかったときと同じエラーで止まります…
    他の機種で動くからXperia独自の何かなんですかね?
    このアプリはいいアプリですね!
    これからも頑張ってください

    コメント by ペリカン — 2013年1月21日 @ 8:53 AM

  26. 情報有り難うございます。後ほど、SO-02Dでは動かない旨、説明に追加しときます。
    どんなエラーかよく分かってないですが、動く機種のほうが少ないようなので、なんとも言えないですね。。

    コメント by m.takemi — 2013年1月21日 @ 11:40 PM

  27. SH-06D&iijmioでテザリングできました!
    ありがとうございます(≧▽≦)

    androidを4.0にバージョンアップしなくてよかったです。

    コメント by ジュン — 2013年2月4日 @ 12:08 PM

  28. ぃぇぃぇ。

    4.0でも動作出来たら良いんですが、現状ちょっと無理そうです。。

    コメント by m.takemi — 2013年2月5日 @ 10:42 PM

  29. L-01D&iijmioでもテザリングできました(^-^)/
    ありがとうございました。

    ただ、4.0にバージョンアップしたら、予想通りNGになってしまいましたが。(-.-)

    コメント by ヨックモック — 2013年2月19日 @ 8:38 PM

  30. SH-13 はだめでした。SH-12と同じ状態でしょうかね。
    SH-06D (4.0)もだめでした。
    残念。

    コメント by 匿名 — 2013年5月11日 @ 9:25 PM

  31. 今更、、、ですが開発者様のブログにたどり着いたのでお礼のコメントを残そうとおもいました
    およそ1年くらい、このアプリにお世話になっています
    機種はP-01Dです
    おかげさまで、低速SIMを存分に活用させてもらっています
    本当に感謝しています
    P-01Dが壊れるまでは、使い続けると思います

    コメント by こぁら — 2013年10月1日 @ 3:05 PM

  32. F-03D&OCN では テザリングができませんでした。
    テザリングがしたくてAndroid2.3.5を中古で購入したのですが、どのアプリを使ってもテザリングができなくて残念でした。
    OCNのsimだとできないのかも?という声も聞きますが。。。
    仕方がないので諦めて端末を買い換えようと思います。

    コメント by はにぽん — 2013年11月20日 @ 4:25 PM

  33. お世話になっております。
    はじめまして!
    今日は今までのお礼に情報を一つ♪まだネット上にはないはずなです。内密で♪(笑)
    要Rootですがマーケットイネーブラーというアプリを入れ44010→44020や44030に設定するとtetherできるようになります。
    できれば非rootのままできるアプリが欲しいです。
    でわでわご活躍を

    コメント by 遅れて来た天才(笑) — 2014年7月15日 @ 12:49 PM

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress