問題タブ [android-wifi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wifi - アンドロイド Wi-Fi 接続
ひえメンバー!----am Boniface M -- アンドロイド初心者【大学生】..
私の質問は、グリッド サービスとして機能する Android アプリ/ミドルウェアの開発を計画しています。つまり、グリッド コンピューティング用のアプリです。アプリケーションは 1....n デバイスにインストールする必要があります。接続では、1 つのデバイスが他のすべてのデバイスのサーバーとして機能する必要があります。デバイス間の通信は、特定のアルゴリズムによって決定されるサーバー デバイスの許可の下で、wifi 経由で行われます [ここでは問題ありません]。
問題は、デバイスが実行している他のデバイスからアクセスできるすべてのサービスを追跡するデータベースを使用する必要があるか、またはこのすべての情報を直接保持し、別のアプリから要求したときにそれらを取得できる方法があるかどうかです。別のデバイスにインストールされています。また、ブルートゥースのようにwifi経由でファイルを共有する方法
ありがとう....
java - アプリケーションからWiFiを有効/無効にする方法は?
Androidアプリケーションからwifiを有効/無効にしたい。どうやってやるの?
android - 指定された利用可能な Wi-Fi ネットワークに接続する
アプリケーションから、デバイスの WIFI のオン/オフを切り替え、利用可能なネットワークをスキャンすることはできますが、指定された利用可能なネットワークに接続できません。これは私が使用しているコードです:
android - 3g と Wi-Fi でセッションを維持する
WIFI 接続が失われ、Android が自動的に 3G に切り替わるとき、およびデバイスが 3G で動作していて WIFI ネットワークが利用可能であるため、デバイスが WIFI を使用するときに、アプリでセッションを維持したいと考えています。この接続の切り替えでは、セッションを維持したいと考えています。どうすればいいの...
android - Androidでは、wifiを使用して緯度と経度を見つけることは可能ですか?
私のアプリケーションでは、ユーザーの現在の場所を使用する必要があります。GPS を介して、私はそれを行う方法を知っていますが、Wifi を使用してそれを行う方法を知っている人はいますか? Plsは私の助けをしてください、
ありがとう。
android - タブ、Wifi、GPS の使用
1番目のタブの下に3つのタブを動的に生成しています GPSとWIFIの両方をオフおよびオンにできるトグルボタンを生成しています
GPSとWIFI用のJavaファイルをコーディングしました。行ごとに何度もチェックしましたが、バグは見つかりませんでした。エミュレーターとAndroid「Sony Arc mobileも」で動かしました。インストールもうまくいき、起動しようとすると問題が発生します。アプリケーションは、「アプリケーションが予期せず停止しました。もう一度やり直してください」というメッセージを表示しています。スタック オーバーフローのほぼ{すべて}のすべてのクエリを参照しましたが、シナリオに対して考えられる回答を得ることができませんでした。GPS および WIFI ファイルを削除してみました。アプリケーションでToggle ButtonをTextViewに置き換えると、正常に動作します。
私のコードを含めて、それを確認して仲間を助けてください。
Main.java
パッケージ project.sow;
android.app.TabActivity をインポートします。
android.content.Intent をインポートします。
android.content.res.Resources をインポートします。
android.os.Bundle をインポートします。
android.widget.TabHost をインポートします。
public class Main extends TabActivity {
private TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
リソース res = getResources(); // Drawables を取得するリソース オブジェクト
tabHost = (TabHost)findViewById(android.R.id.tabhost); //アクティビティ TabHost
TabHost.TabSpec 仕様; // 各タブの再利用可能な TabSpec
// 各タブの TabSpec を初期化し、TabHost
仕様に追加します = tabHost.newTabSpec("Start").setIndicator("Start", res.getDrawable(R.drawable.ic_sample));
spec.setContent(new Intent(this,Start.class));
tabHost.addTab(仕様);
spec = tabHost.newTabSpec("Info").setIndicator("Info", res.getDrawable(R.drawable.ic_sample));
spec.setContent(new Intent().setClass(this, Info.class));
tabHost.addTab(仕様);
Start.java
パッケージ project.sow;
android.app.Activity をインポートします。
android.content.BroadcastReceiver をインポートします。
android.content.Context をインポートします。
android.content.IntentFilter をインポートします。
android.location.LocationListener をインポートします。
android.location.LocationManager をインポートします。
android.location.LocationProvider をインポートします。
android.net.wifi.WifiManager をインポートします。
android.os.Bundle をインポートします。
android.widget.TextView をインポートします。
android.widget.Toast をインポートします。
android.widget.ToggleButton をインポートします。
public class Start extends Activity {
public WifiManager wifi;
ブールステータス;
コンテキスト コンテキスト。
public TextView textStatus;
public LocationManager locationManager;
パブリック LocationListener locationListener;
public BroadcastReceiver レシーバー;
パブリック LocationProvider locationProvider;
WifiFilter.java
パッケージ project.sow;
java.util.List をインポートします。
android.content.BroadcastReceiver をインポートします。
android.content.Context をインポートします。
android.content.Intent をインポートします。
android.net.wifi.ScanResult をインポートします。
android.net.wifi.WifiManager をインポートします。
android.util.Log をインポートします。
android.widget.Toast をインポートします。
public class WiFiFilter extends BroadcastReceiver {
private static final String TAG = "WiFiFilter";
開始開始;
public WiFiFilter(Start 開始) {
super();
this.start=開始;
}
//非表示の SSID の準備と、後で使用するための wifi 構成の保存
@Override
public void onReceive(Context c, Intent intent) {
リスト結果 = start.wifi.getScanResults();
リストの結果 2 = null;
ScanResult フィルター = null;
//SSID のフィルタリング
for(ScanResult filterresult : results ){
if(filterresult.SSID=="VOLSBB")
{
results2 = results;}
}
//信号レベルの確認
for (ScanResult result : results2) {
if (filter == null
|| WifiManager.compareSignalLevel(filter.level, result.level) < 0)
フィルター = 結果;
試す{
WifiManager.ACTION_PICK_WIFI_NETWORK.equals(フィルター);
}
catch(Exception e){String res="Exception:No network";Toast.makeText(start, res, Toast.LENGTH_LONG).show();};
}
String message = String.format("S0W に接続");
if(filter.SSID != null){
//Toast.makeText(start, message, Toast.LENGTH_LONG).show();
Log.d(TAG, "onReceive() メッセージ: " + メッセージ);
}
} }
gpsLocation.java
パッケージ project.sow;
project.sow.CustomWebView をインポートします。
android.location.Criteria をインポートします。
android.location.GpsStatus をインポートします。
android.location.Location をインポートします。
android.location.LocationListener をインポートします。
android.location.LocationManager をインポートします。
android.os.Bundle をインポートします。
project.sow.Start をインポートします。
public class gpsLocation implements LocationListener{
Start sowWifigps;
公共の場所 currentBestLocation;
公開場所の場所。
GpsStatus ステータス;
CustomWebView webviewgps;
ダブルa;
ダブルb;
@SuppressWarnings("未使用")
プライベート文字列の最良のプロバイダー。
//public LocationManager locationManager;
public String provider1;
public gpsLocation(sowWifigps を開始) {
super();
this.sowWifigps=sowWifigps;
// TODO 自動生成されたコンストラクターのスタブ
Criteria criteria = new Criteria();
//bestProvider = sowWifigps.locationManager.getBestProvider(基準, false);
試してください{
if(LocationManager.GPS_PROVIDER==null){
provider1 = LocationManager.NETWORK_PROVIDER;
}
そうでなければ {provider1=LocationManager.GPS_PROVIDER;}
}catch( Exception e){ provider1=sowWifigps.locationManager.getBestProvider(criteria, false);}
}
@Override
public void onLocationChanged(Location location) {
// TODO 自動生成メソッド スタブ
sowWifigps.locationManager.requestLocationUpdates(provider1, 12000, 200、sowWifigps.locationListener);
}
@Override
public void onProviderDisabled(String provider) {
// TODO 自動生成メソッド スタブ
//provider = LocationManager.NETWORK_PROVIDER;
currentBestLocation=sowWifigps.locationManager.getLastKnownLocation(provider1);
a=currentBestLocation.getLatitude();
b=currentBestLocation.getLongitude();
webviewgps.loadUrl(" http://localhost/mobile/default_mobile.php?lat= "+a+"&long="+b); //サイト名に変更
}
@Override
public void onProviderEnabled(String provider) {
// TODO 自動生成メソッドのスタブ
sowWifigps.locationManager.requestLocationUpdates(provider1, 12000, 200, sowWifigps.locationListener);
a=currentBestLocation.getLatitude();
b=currentBestLocation.getLongitude();
webviewgps.loadUrl(" http://localhost/mobile/default_mobile.php?lat= "+a+"&long="+b); //サイト名に変更
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO 自動生成メソッドのスタブ
sowWifigps.locationListener.onLocationChanged(location);
}
}
ここでは 2 番目のタブを提示しますが、他はこれと似ているため省略します。
Info.java
パッケージ project.sow;
android.app.Activity をインポートします。
android.os.Bundle をインポートします。
public class Info extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void onResume() {
CustomWebView webView = 新しい CustomWebView(this);
webView.loadUrl(" http://www.google.com/?s=Info ");
setContentView(webView);
super.onResume();
} }
CustomWebView.java
パッケージ project.sow;
android.app.ProgressDialog をインポートします。
android.content.Context をインポートします。
android.graphics.Bitmap をインポートします。
android.view.View をインポートします。
android.webkit.WebView をインポートします。
android.webkit.WebViewClient をインポートします。
public class CustomWebView extends WebView {
private ProgressDialog pgBar = null;
@SuppressWarnings("unused")
プライベート コンテキスト ctx;
public CustomWebView(コンテキスト コンテキスト) {
スーパー(コンテキスト);
this.clearCache(真);
this.clearFormData();
this.clearHistory();
this.getSettings().setJavaScriptEnabled(true);
this.getSettings().setUserAgentString(null);
this.requestFocus(View.FOCUS_DOWN);
this.setWebViewClient(新しい CustomWebView.CustomWebViewClient());
this.pgBar = new ProgressDialog(context);
this.pgBar.setMessage("読み込み中...");
ctx = コンテキスト;
}
プライベート クラス CustomWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (!CustomWebView.this.pgBar.isShowing()) {
CustomWebView.this.pgBar.show();
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (CustomWebView.this.pgBar.isShowing()) {
CustomWebView.this.pgBar.dismiss();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try{
view.loadUrl(url);
}catch(Exception ex){
}
return true;
} } }
メイン.XML
style.xml
`
ic_sample
マニフェスト ファイルに次のアクセス許可を追加しました。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
android - デバイスがアクティブなWiFi接続を介してインターネットにアクセスできるかどうかを確認するにはどうすればよいですか?
デバイスがアクセスポイントに接続されているが、何らかの理由でこのAPを使用したインターネットへのアクセスがブロックされている状況について言及しています。
android - WifiManager のスキャンをフィルタリングできますか?
複数のワイヤレス信号の強度をスキャンしようとしています。そのために、私は WifiManager を使用し、ループで startScan() を呼び出し、結果を取得するブロードキャスト レシーバーを用意しています。
私の質問は:
一部のネットワークのみをスキャンするにはどうすればよいですか? 結果では、利用可能なすべてのネットワークを取得します。一部の bssid のみを検索するようにスキャンをフィルタリングできますか? またはssid?AP の値以外の値は気にしません。そして、このスキャンを可能な限り最高の頻度で行う必要があります。
もう 1 つは、startScan を再度呼び出すと (前回の呼び出しから 500 ミリ秒後)、スキャンが停止するかどうかです。信号を強くする頻度を最大限に減らしたいのですが、結果が不完全な場合があるようです??
WifiManager クラスのソース コードを変更して、スキャンをいくつかの ID にフィルター処理することはできますか?
どうもありがとう!
android-wifi - これはWiFiネットワークへの接続を検出する正しい方法ですか?
デバイスがWiFiネットワークに接続されたときに反応する必要があるAndroid用のアプリケーションを作成しています。現在、BroadcastReceiverを使用してandroid.net.ConnectivityManager.CONNECTIVITY_ACTIONを監視するように実装しようとしています。これは正しいか、またはより適切な方法はありますか?
android - AndroidでWIFI接続が確立されたことを検出するにはどうすればよいですか?
WIFI経由でネットワークに接続できるかどうかを検出する必要があります。有効なネットワーク接続が確立されたことを確認するために送信されるブロードキャスト。HTTPの有効なネットワーク接続が存在することを検証する必要があります。有効な接続が存在することを知るために、何を聞く必要があり、どのような追加のテストを行う必要がありますか。