アンドロイドWi-Fiマネージャーの状態を聞くことができませんか?
-
27-10-2019 - |
質問
Wi-Fiの状態を確認するためのBroadCastレシーバーに問題があります。手伝ってもらえますか?
これは私のマニフェストファイルです。 ジェネラコディセタグプレ
これはMainActivity.javaです ジェネラコディセタグプレ
どこで間違いを犯しているのかわかりません。任意の入力をいただければ幸いです。
ログファイルに必要なメッセージが表示されないだけでエラーは発生しません。
解決
インテントフィルタのパラメータを追加していません。最終的なマニフェストは次のようになります ジェネラコディセタグプレ
これがお役に立てば幸いです。
他のヒント
次の権限を追加しなかった場合は、それらを追加してから再試行してください。 ジェネラコディセタグプレ
まず、WIFI状態を表示するためのアクセス権を取得するためのアクセス許可をリクエストする必要があります。 AnupRojekarが言ったようにやってください。
次に、BroadcastReceiverの使用を間違えたと思います。マニフェスト.xmlで、MainActivityを宣言します。 ジェネラコディセタグプレ
つまり、MainActivyはアクティビティです。また、MainActivityをbroadcastReceiverとして宣言します。これは違法です。これを行うには、スタンドアロンブロードキャストを使用する必要があります。このように: ジェネラコディセタグプレ
BroadcastReceiverの名前を変更したことに注意してください。ノード内に、上記のように<action>
ノードを追加する必要があります。
3番目に、WifiBroadcastReceiver.javaを作成し、元のMainActivity.javaからコードをコピーします。クラス宣言をpublic class WifiBroadcastReceiver extends BroadcastReceiver
に変更することを忘れないでください
お役に立てれば幸いです。うまくいくか教えてください。私は手元にPCを持っていません。したがって、私はしません」 tコードもテストします。
また、新しいMainActivity.javaファイルが必要です。 Eclipseで自動的に生成される可能性があります。このクラスは、public class MainActivity extends Activity
のように宣言する必要があります。
デバイスのネットワーク状態を確認するためにも、この権限を追加してください。 ジェネラコディセタグプレ
以前のさまざまな回答を組み合わせたこれらのスニペットは、Wi-Fiネットワークに接続しているかどうかを確認するのに役立ちました(インターネットに接続しているかどうかはわかりません):
WifiMonitor.javaクラスを作成する ジェネラコディセタグプレ
マニフェストファイルに移動して、インクルードします ジェネラコディセタグプレ
最後に、レシーバーをタグの直前に配置します(マニフェストファイル内にあります) ジェネラコディセタグプレ
コードを適用するときは、上記のコードの
注:BroadcastReceiverではなくActivityを拡張するようにMainActivityを修正してください。
私にとって、AndroidManizest.xmlの変更は機能しませんでした。同じ問題があります。アプリケーションが突然停止しました。
メインアクティビティでregisterReceiverを使用しましたが、機能します:)私にとって、WifiStateTesterはBroadcastReceiverから拡張されたクラスです。 ジェネラコディセタグプレ
私が行った他の別のことは、onReceiverメソッドでwifiステータスを直接チェックしたことです。