0

は私がネットワークオペレータ設定を開くしようとしています正常に動作していない:Androidのネットワークオペレータ設定の意図は、次のコードで表示

startActivity(new Intent(android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS)); 

それは私がテストすることができ、すべてのデバイス上で正常に動作しますが、そのうちの一つ(上Alcatel One Touch Pixi、Android搭載)5.1)ネットワークオペレータ設定画面が開き、その後自動的に閉じます。私は、そのIntentのpackageManagerのresolveActivityがnullを返すかどうかを調べようとしましたが、それはネットワークオペレータ設定のアクティビティを開き、何らかの理由で自動的に終了します。

誰かが特定の携帯端末でのみ発生するこの問題を解決するのに役立ちますか?

答えて

0

ネットワーク設定メニューを呼び出すための別の方法があります:

Intent intent = new Intent(); 
intent.setComponent(new ComponentName("com.android.phone", "com.android.phone.MobileNetworkSettings")); 
startActivity(intent); 

この方法は、サムスンのデバイスでは動作しますが、あなたが言及したデバイスについてはわかりません(パッケージの名前とアクティビティクラス名を指定しているため)。私は

+0

ありがとう!!それはネットワークオペレータの設定のより近似したビューであり、少なくとも私のすべてのテストデバイスで非常にうまく機能します。 – user3429953

0

問題を修正することはできません。他のアプリにはバグがあります。開発者だけがバグを修正できます。

+0

など、あなたがしようとすると動作するかどうかことができ、あなたはこのコードを使用するための適切な条件を追加するかもしれないと思う

は、その後、あなたは私にそれが私のアプリミリ秒の小さな期間に返すかどうかを検出するようないくつかの回避策をお勧めします、代わりに一般的な設定の意図を起動しますか?あるいは、超絶したケースだと思いますが、この回避策を適用する必要はありませんか? – user3429953

+0

@ user3429953:それはあなたの決定です - 私はあなたのためにそれを作ることはできません。私は、 "もしそれが返ってきたら..."というコードが信頼できないと分かってしまうかもしれないと心配しています(例えばマルチウィンドウ環境)。 – CommonsWare

+0

本当にありがとうございます。私はW0rmH0leからのソリューションを、私が望むものに非常に近似しているから適用します – user3429953

0

ワイヤレス設定

startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS)); 

ネットワークオペレータ設定

startActivity(new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS)); 
+0

それは正しく開きますが、私はちょうどユーザをネットワーク設定ビューにいくつかのステップを保存したいと考えています... – user3429953

+0

詳細を説明してください。私はあなたの意見を得ていません。 –

+0

オープンしたいのはワイヤレス設定ではなく、ネットワークオペレータの設定 – user3429953

関連する問題