私は助けが必要です。アプリケーションでインターネットの状態を表示するトーストが必要です。Wi-Fi とモバイル データ パケット (モバイル インターネット) で問題なく動作しています。しかし、インターネットが完全に切断されている場合、何も表示されません。これを行う方法がわかりません。ここに私のコードがあります
public class ConnectivityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("myapp", "action: " + intent.getAction());
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
if(isConnected)
{
if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
{
Toast toast = Toast.makeText(context, "Connected to wifi", Toast.LENGTH_LONG);
toast.show();
}
else if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
{
Toast toast = Toast.makeText(context, "Connected to Mobile Data Pakage", Toast.LENGTH_LONG);
toast.show();
}
else
{
Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
toast.show();
}
これも試してみてください。ただし、コンパイラはエラーを表示します。親切に私を助けてください。前もって感謝します。
else if(activeNetwork.getType() == ConnectivityManager.EXTRA_NO_CONNECTIVITY)
{
Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
toast.show();
マニフェスト
<receiver android:name="com.networkstatechange.ConnectivityReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>