私はアンドロイドプログラミングが初めてで、電話のホットスポットのアクセスポイントを検出する方法がわかりません。私のアプリケーションは、同じアクセス ポイントを介して Android デバイスを接続することです。問題は、電話のホットスポットを起動するたびに、アプリケーションがそれをアクセス ポイントとして読み取らないように見えることです。次のアクティビティに進む前に、ユーザーがすべてのアクセス ポイント (電話のホットスポットを含む) で最初に接続するようにします。これが私のコードです。
MainActivity.java
ImageButton class3 = (ImageButton) findViewById(R.id.multiplayer);
class3.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) { //whenever this button is click
WifiManager wifi = (WifiManager) context.getSystemService(WIFI_SERVICE);
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (wifi.isWifiEnabled() || netInfo != null){ //connected in any access point(including own hotspot) then go to next activity
startActivity(new Intent(MainActivity.this.getBaseContext(), classmultiplayer.class));
}
else {
MainActivity.this.finish(); //to simplified the code i just used exit if its not connected to any acces point
}
}
});
マニフェスト
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Wi-Fiに接続すると、完全に機能します。しかし、Wi-Fi接続なしで電話でホットスポットを開始すると、終了する「elseステートメント」が実行されます。私はすでにstackoverflowでいくつかの答えを試しましたが、それで問題が解決するとは思いません。
「私はオフラインのマルチプレイヤー ゲームを開発していて、同じアクセス ポイントを介して相互に通信できるようにするため、独自のホットスポットを含む次のアクティビティに進む前に、ユーザーが既にアクセス ポイントに接続されていることを確認したいだけです。」
これを実行できる既存の Android アプリケーションが既にあります。それを自分のアプリに適用したいだけです。お答えください..