0

この方法では、ユーザーが接続されているかどうかがわかります。

public boolean isOnline() {
    ConnectivityManager cm = 
         (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnected()) {
        return true;
    }
    return false;
}

私のアプリケーションでは、ユーザーが送信を押すと、サーバーにデータがアップロードされます。接続性がない場合は、「後で送信しようとします」と表示されますが、インターネットの状態を確認するには、接続がオンの場合のみ、情報を送信しますか?

4

3 に答える 3

0

まず、を使用しIntentServiceてすべてのデータアップロードを処理します。使用している方法との接続を確認してもらいます。接続されている場合はデータをアップロードし、そうでない場合はデータを保存します(SharedPreferencesまたはデータベースを使用します)。

次に、を作成BroadcastReceiverし、マニフェストに次のように登録します<intent-filter>...

<intent-filter>
    <action android:name="android.net.wifi.STATE_CHANGE" />
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />"
</intent-filter>

注:次の権限が必要になります...

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

haveのonReceive(...)方法では、BroadcastReceiver保留中のデータがあるかどうかを確認し、保留中の場合は、IntentServiceデータの送信を開始します。

また、によってNotifications作成されたを使用IntentServiceして、ユーザーにフィードバックを提供します。

于 2013-02-14T18:59:38.727 に答える
0

これは役立つはずです:http ://www.androidhive.info/2012/07/android-detect-internet-connection-status/

追加の例が必要な場合:http ://www.androidsnippets.com/have-internet

最初のリンク(AndroidHive.info)のサイトは、初心者の親友です。すべてのtutsは、ほぼ確実で、非常によく書かれた/文書化されたdl可能なソースコードを提供します。彼のタットからユニークなものにさまざまな部分を一緒にハッキングするだけでできることがたくさんあります。imoを学ぶための最良の方法

于 2013-02-14T18:48:08.050 に答える
0

インターネット接続が検出されない場合は、接続時にメッセージが送信されることをユーザーに警告しませんか。バックグラウンドプロセス、またはユーザーが接続されているかどうかを定期的にチェックするサービスを実行し、それらがデータを送信するメソッドである場合は実行されます。

于 2013-02-14T18:45:01.607 に答える