Android:インターネット接続を確立する

私はこの一般的な状況でインターネット上の情報を見つけることができないのに驚いています。どうすればインターネット接続を開始できますか?私は ConnectivityManager を見ましたが、それはそうですネットワーク接続を監視するためのものです。

PS:電話は根付くので、問題はありません。

6
私がプログラムでプライベートネットワーク上のWiFi接続を開きたいとしましょう。それから私はサーバーuplaodに接続したい/ダウンロードデータ...
追加された 著者 Caner,
これは間違っています。 WifiManager.setWifiEnabled()というメソッドがあります。
追加された 著者 Caner,
私はユーザーのやりとりを望んでいません、それはすべてそれ自身を行う必要があります。
追加された 著者 Caner,
私はそう思わない、ユーザーの介入なしにあなたは無線LANを有効にすることはできません。セキュリティ上の理由から可能性があります。
追加された 著者 user370305,
あなたは監視する必要がありますか?そうでなければ、Wi-Fi接続ダイアログを開き、Wi-Fi設定に移ります。
追加された 著者 user370305,
"どうすればインターネット接続を始めることができますか?"、あなたがしたいことを意味しますか?
追加された 著者 user370305,
私はあなたが何をしたいのか分かりません。サーバーへの接続が必要な場合は、URLなどのクラスを試すことができます。 docs.oracle.com/javase/1.4.2/docs/api/java/net/URL.html およびそのopenConnection ()メソッドを使用するか、より高度な使用のためにHttpClientを使用することができます: developer.android.com/reference/org/apache/http/client/&hellip
追加された 著者 Jave,

4 答え

単にWiFiを有効にしたい場合、この方法を使用することができます:

private boolean changeWifiState(boolean state) {
    final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifi.setWifiEnabled(state);
    return wifi.isWifiEnabled();
}

これに必要な権限を確認してください。私はこれらの権限を追加するべきだと思います:



2
追加された
+1便利な答えをありがとう。しかし、これは私が必要としたものではありませんでした(私の答えを見てください)
追加された 著者 Caner,
いいですが、3gはどうですか?
追加された 著者 Caner,
それほど簡単ではありません。この機能はバージョンによって異なります。たとえば、これを行う方法は次のとおりです。 stackoverflow.com/questions/3644144/…
追加された 著者 Yury,
また、Wifiとデータ接続は通常同時に有効にすることはできません。
追加された 著者 Yury,

私は次の解決策を見つけました:

1) Add preferred wifi/APN(Access Point Name) configuration to phone settings
2) Enable Wifi/APN
3) Connection will be established automatically

Wifiの設定は簡単で、次のページにその方法を示します。

どのようにWEP/AndroidのEAP Wi-Fi設定

APNの設定は難しいです。 Androidには、これらの設定にアクセスしたり変更したりできる隠しAPIがあります。これを行うには、 Reflection を使用する必要があります。もちろんこれはAndroidの将来のバージョンでは壊れてしまうかもしれません。次のページでは、これらの設定にアクセスして変更する方法について説明します。

http: //blogs.msdn.com/b/zhengpei/archive/2009/10/13/managing-apn-data-in-google-android.aspx

1
追加された

実際にWi-Fiをオンまたはオフに切り替えることができます(この記事) Wi-Fiがオンになっている場合はインターネット接続が可能であるという保証はありません。

ConnectivityManagerでは、現在の接続状態のみを検査できます。これを使用して接続を有効にすることはできません。また、アクティブなネットワーク接続がインターネット接続である場合、ConnectivityManagerは知識がありませんが、これを自分で確認するのは簡単です(この記事 例えば)。

1
追加された

ソケットは必要なものです。あなたの基本情報を得るには、ここでそれを読んでください: rel="nofollow noreferrer"> http://ja.wikipedia.org/wiki/Internet_socket あなたは読む必要はありませんそれはすべてですが、ソケットメソッドに慣れるために、少なくとも "実装の問題"をすべて読んでおくことが重要だと思います。もちろん、これらのメソッドはプラットフォーム(Windows、Androidなど)ごとに違って実装されますが、通常はどこでも同じように実行されます。だから、それぞれが何をしているかを理解すれば、どのプラットフォームのソケットでも簡単に作業できます。

This diagram (From wiki) helps to demonstrate the sockets usage: enter image description here

あなたはクライアント側です。したがって、ソケットを作成し、サーバーのIPアドレスを connect メソッドで呼び出します。

Personally, I have never used sockets in Android development. But I think you should use this class: http://developer.android.com/reference/java/net/Socket.html

0
追加された
電話はさまざまな方法でインターネットに接続できます。それはローミング、無線LANを使用することができます、ケーブルなどでPCに接続することができます。私はこれを制御できるようにしたい。
追加された 著者 Caner,
しかし、これは質問に答えません。最初に使用するインターネット接続を確立するにはどうすればよいですか?
追加された 著者 Caner,
ソケットは基本的なものです。それらを理解してから、ソケット自体をラップするより高いレベルのクラスを使用する方が良いでしょう。また、これらのクラスは非常に特定のプロトコルで使用されるラッピングソケットです。元のポスターに必要なプロトコルがわからないので、基本的なソケット以外のものを使用するように指示することはできません。
追加された 著者 Jong,
ソケットを作成せずにサーバーや何かに接続するのであれば、インターネット接続を確立することはどういう意味ですか?
追加された 著者 Jong,
つまり、デバイスがインターネットにアクセスできる方法を制御しますか?
追加された 著者 Jong,
ソケットは解決策かもしれないが、それらはかなり低いレベルです。 ftp http接続を選択します。
追加された 著者 THelper,