Androidではオフラインモードを無効にするにはどうすればよいですか?
Android アプリでオフラインモードを無効にするには、次の手順に従ってください。
- AndroidManifest.xml ファイルに次の権限を追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- ネットワーク接続状況を表示する TextView をレイアウトファイルに追加します。
<TextView
android:id="@+id/networkStatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Network Status" />
- アクティビティでTextViewへの参照を取得し、ネットワーク状況の変化をリッスンするためのBroadcastReceiverを登録する。
public class MainActivity extends AppCompatActivity {
private TextView networkStatusTextView;
private BroadcastReceiver networkChangeReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
networkStatusTextView = findViewById(R.id.networkStatusTextView);
networkChangeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
networkStatusTextView.setText("Online");
} else {
networkStatusTextView.setText("Offline");
}
}
};
IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkChangeReceiver, intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(networkChangeReceiver);
}
}
- AndroidManifest.xmlファイルに、ネットワーク状態変更のブロードキャストレシーバー許可を追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
アプリが起動するとネットワーク接続の状態を監視し、TextViewに表示します。ネットワーク接続が切断されるとTextViewに「Offline」が表示され、ネットワーク接続が復元されるとTextViewに「Online」が表示されます。