如何显示网络变化状态的对话?
Posted
技术标签:
【中文标题】如何显示网络变化状态的对话?【英文标题】:How to show dialogue for network change states? 【发布时间】:2019-11-29 03:00:30 【问题描述】:我有一个用于在 android 中更改网络状态的代码。但现在的问题是,当网络状态发生变化时,代码会显示小吃吧。我希望它在网络状态发生变化时显示对话框。我已经做了一切。我只想而不是小吃店对话将显示。
IntentFilter intentFilter = new IntentFilter(NetworkStateChangedReceiver.NETWORK_AVAILABLE_ACTION);
LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver()
@Override
public void onReceive(Context context, Intent intent)
boolean isNetworkAvailable = intent.getBooleanExtra(IS_NETWORK_AVAILABLE, false);
String networkStatus = isNetworkAvailable ? "connected" : "disconnected";
Snackbar.make(findViewById(R.id.activity_dashboard), "Network Status: " + networkStatus, Snackbar.LENGTH_LONG).show();
, intentFilter);
【问题讨论】:
【参考方案1】:只需使用AlertDialog.Builder
而不是Snackbar
创建警报对话框。以下几行应该可以工作,
IntentFilter intentFilter = new IntentFilter(NetworkStateChangedReceiver.NETWORK_AVAILABLE_ACTION);
LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver()
@Override
public void onReceive(Context context, Intent intent)
boolean isNetworkAvailable = intent.getBooleanExtra(IS_NETWORK_AVAILABLE, false);
String networkStatus = isNetworkAvailable ? "connected" : "disconnected";
//Snackbar.make(findViewById(R.id.activity_dashboard), "Network Status: " + networkStatus, Snackbar.LENGTH_LONG).show();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);
AlertDialog dialog = builder.create();
, intentFilter);
【讨论】:
【参考方案2】:这是一个您可以使用的简单 AlertDialog:
public static Dialog createSimpleOkDialog(Context context, String title, String message)
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
.setTitle(title)
.setMessage(message)
.setNegativeButton(android.R.string.ok, null);
return alertDialog.create();
【讨论】:
以上是关于如何显示网络变化状态的对话?的主要内容,如果未能解决你的问题,请参考以下文章