数年前のAndroidの問題は、National Roamingトグルで最終的に修正されます

Androidは機能が豊富なモバイルオペレーティングシステムですが、だからといって問題がないというわけではありません。 それどころか、数年前に発見されたOSのいくつかの問題はまだ修正されていませんが、新しいバージョンでは新しい問題が発生します。 長い間知られているそのような問題の1つは、全国ローミングのサポートの欠如です。

問題

一部の通信事業者およびモバイル仮想ネットワーク事業者(MVNO)では、ネットワークとデバイス間でデータ転送を行うために、データローミングを有効にする必要があります。 これは、Androidが実際にデバイスがローミングしていないときにローミングしていることを検出するためです。 これはいつ起こりますか? まれに、AndroidにMCCおよびMNCコード、IMSIの形式で保存されたキャリアデータとの不一致が発生します。

モバイル国コード(MCC)は、モバイルネットワークを一意に識別するために、モバイルネットワークコード(MNC)と組み合わせて使用​​されます。 一方、国際モバイル加入者ID(IMSI)は、モバイルネットワークのユーザーを識別するために使用され、すべてのモバイルネットワークに関連付けられた一意のIDです。

一部のMVNOには、親キャリアと同じIMSIがありません。 したがって、AndroidはMVNOを個別のネットワークとして識別し、IMSIが異なると、デバイスがローミングしていない場合でもローミングしいるように見えます。

その結果、ユーザーはデータローミングトグルをオンにして、モバイルデータが課金されないように動作するようにします。 ただし、国の国境を越えて旅行するとすぐに、携帯電話のSIMカードはローカルキャリアの信号にラッチします(必要なローミング契約が確立されている場合)。 その後、顧客はデータローミングの使用に対して課金され、多くの場合、法外に課金されます。

これは、データローミングスイッチがユーザーによって誤って有効のままにされたためです。 国境内で使用された場合は課金されませんでしたが、SIMカードが国際的に使用されるとすぐに、ローミングSIMカードを使用したくない場合でも、ユーザーはローミング料金を支払う必要がありました。

EUでは、2017年6月15日から有効になった国際ローミングの料金は発生しません(もちろん、フェアユースポリシーや条件付きデータ制限など、これに付随する条件があります)。モバイルネットワークユーザーはEUの境界内をローミングするため、ローミング料金はかかりません。

したがって、ユーザーは移動中にデータローミングを有効にして忘れることができますが、EU外に旅行する場合はいつでも国際ローミング料金 適用 れるため、これは悪い考えです。 Googleの課題追跡システムのユーザーは、デバイスが国内ネットワークにラッチできない場合(たとえば海上での一般的なシナリオ)、EU境界内でも衛星ローミング料金が適用されると報告しています。

ソリューション

ここでの解決策は、 全国ローミングトグルです。 国内ローミングトグルを使用すると、ユーザーは国内で使用するためにローミングを継続できますが、ユーザーの本国以外でユーザーの同意なしにローミングが使用されることはありません 。 これは、ユーザーが約8年半前にGoogleに求めてきたものですが、この問題に関する進展はありませんでした。 唯一の修正は、Xposed Moduleをインストールして国内ローミングオプションを取得する、framework-resを変更する(一部の電話でのみ可能)、または特定のカスタムROMをインストールすることを含みました。

Android 8.1 Oreoを実行しているGoogle Pixel 2 XLのローミング設定

これは、SonyがAndroidでの全国ローミングUIのサポートと同様に全国ローミングのサポートを追加するために必要なコミットを作成しているので、うまくいけば変更されるでしょう。 このオプションがAndroid(おそらくAndroid P)に表示されると、国際旅行に向かう前に毎回データローミングをオフにすることを覚えておく必要がないため、海外旅行者にとって非常に有益です。


PS上記のスクリーンショットは、Substratumを使用してインストールされたSaiのOreoダークテーマを示しています。 この手順に従うことで、ルートなしでダークテーマをインストールできます。