如何检查android 检查wifi状态设备中的HDMI设备连接状态

20973人阅读
android学习(10)
现在是互联网高速发展的时代,Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!好多的App都需要连接网络,所以抽时间就写了一个检测Android设备网络连接状态的demo!
这个小例子可以判断设备是否已经连接网络,并且在连接网络的状态下可以判断是wifi无线连接还是GPRS手机网络连接,这样就可以在不同的网络连接下去调用不同的方法,处理不同的事情,比如一个有下载功能的app可以判断只有当wifi连接的是后去下载文件,GPRS流量连接则不下载!
在没有连接的网络的情况下会弹出一个对话框,让用户选择是否去设置网络连接!&
贴一下主要代码:
* 检测网络是否连接
private boolean checkNetworkState() {
boolean flag =
//得到网络连接信息
manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//去进行判断网络是否连接
if (manager.getActiveNetworkInfo() != null) {
flag = manager.getActiveNetworkInfo().isAvailable();
if (!flag) {
setNetwork();
isNetworkAvailable();
* 网络未连接时,调用设置方法
private void setNetwork(){
Toast.makeText(this, &wifi is closed!&, Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(&网络提示信息&);
builder.setMessage(&网络不可用,如果继续,请先设置网络!&);
builder.setPositiveButton(&设置&, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent =
* 判断手机系统的版本!如果API大于10 就是3.0+
* 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同
if (android.os.Build.VERSION.SDK_INT & 10) {
intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
intent = new Intent();
ComponentName component = new ComponentName(
&com.android.settings&,
&com.android.settings.WirelessSettings&);
intent.setComponent(component);
intent.setAction(&android.intent.action.VIEW&);
startActivity(intent);
builder.setNegativeButton(&取消&, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
builder.create();
builder.show();
* 网络已经连接,然后去判断是wifi连接还是GPRS连接
* 设置一些自己的逻辑调用
private void isNetworkAvailable(){
State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(gprs == State.CONNECTED || gprs == State.CONNECTING){
Toast.makeText(this, &wifi is open! gprs&, Toast.LENGTH_SHORT).show();
//判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载!
if(wifi == State.CONNECTED || wifi == State.CONNECTING){
Toast.makeText(this, &wifi is open! wifi&, Toast.LENGTH_SHORT).show();
loadAdmob();
* 在wifi状态下 加载admob广告
private void loadAdmob(){
ll = (LinearLayout) findViewById(R.id.load_ads);
ll.removeAllViews();
adsView = new AdView(this, AdSize.BANNER, &a05d&);
ll.addView(adsView);
adsView.loadAd(new AdRequest());
我这里为了能明确的说明wifi和GPRS连接的不同情况,设置了wifi连接下加载一个admob的广告条,GPRS下不去加载广告,这也算是在实际的开发中提升用户体验的一个途径吧!&
OK,代码稍后放到github上!
更多请关注我的个人博客:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:83148次
排名:千里之外
原创:10篇
转载:13篇
评论:23条
(1)(5)(2)(1)(1)(5)(2)(4)(2)Android(15)
现在是互联网高速发展的时代,开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!好多的App都需要连接网络,所以抽时间就写了一个检测Android设备网络连接状态的demo!
这个小例子可以判断设备是否已经连接网络,并且在连接网络的状态下可以判断是wifi无线连接还是GPRS手机网络连接,这样就可以在不同的网络连接下去调用不同的方法,处理不同的事情,比如一个有下载功能的app可以判断只有当wifi连接的是后去下载文件,GPRS流量连接则不下载!
在没有连接的网络的情况下会弹出一个对话框,让用户选择是否去设置网络连接!
* 检测网络是否连接
private boolean checkNetworkState() {
boolean flag =
//得到网络连接信息
manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//去进行判断网络是否连接
if (manager.getActiveNetworkInfo() != null) {
flag = manager.getActiveNetworkInfo().isAvailable();
if (!flag) {
setNetwork();
isNetworkAvailable();
* 网络未连接时,调用设置方法
private void setNetwork(){
Toast.makeText(this, &wifi is closed!&, Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(&网络提示信息&);
builder.setMessage(&网络不可用,如果继续,请先设置网络!&);
builder.setPositiveButton(&设置&, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent =
* 判断手机系统的版本!如果API大于10 就是3.0+
* 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同
if (android.os.Build.VERSION.SDK_INT & 10) {
intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
intent = new Intent();
ComponentName component = new ComponentName(
&com.android.settings&,
&com.android.settings.WirelessSettings&);
intent.setComponent(component);
intent.setAction(&android.intent.action.VIEW&);
startActivity(intent);
builder.setNegativeButton(&取消&, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
builder.create();
builder.show();
* 网络已经连接,然后去判断是wifi连接还是GPRS连接
* 设置一些自己的逻辑调用
private void isNetworkAvailable(){
State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(gprs == State.CONNECTED || gprs == State.CONNECTING){
Toast.makeText(this, &wifi is open! gprs&, Toast.LENGTH_SHORT).show();
//判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载!
if(wifi == State.CONNECTED || wifi == State.CONNECTING){
Toast.makeText(this, &wifi is open! wifi&, Toast.LENGTH_SHORT).show();
loadAdmob();
* 在wifi状态下 加载admob广告
private void loadAdmob(){
ll = (LinearLayout) findViewById(R.id.load_ads);
ll.removeAllViews();
adsView = new AdView(this, AdSize.BANNER, &a05d&);
ll.addView(adsView);
adsView.loadAd(new AdRequest());
为了能明确的说明wifi和GPRS连接的不同情况,设置了wifi连接下加载一个admob的广告条,GPRS下不去加载广告,这也算是在实际的开发中提升用户体验的一个途径吧!
转载自& lzan13的专栏:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6236次
排名:千里之外
原创:21篇
(3)(1)(2)(3)(1)(2)(5)(5)(2)(1)(3)(2)Android(21)
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED)
Intent batteryStatusIntent = registerReceiver(null, ifilter)
//如果设备正在充电,可以提取当前的充电状态和充电方式(无论是通过 USB 还是交流充电器),如下所示:
// Are we charging / charged?
int status = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1)
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL
// How are we charging?
int chargePlug = batteryStatusIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1)
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC
if (isCharging) {
if (usbCharge) {
Toast.makeText(MainActivity.this, "手机正处于USB连接!", Toast.LENGTH_SHORT).show()
} else if (acCharge) {
Toast.makeText(MainActivity.this, "手机通过电源充电中!", Toast.LENGTH_SHORT).show()
Toast.makeText(MainActivity.this, "手机未连接USB线!", Toast.LENGTH_SHORT).show()
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7702次
排名:千里之外
原创:38篇
(4)(2)(1)(4)(3)(6)(3)(2)(2)(9)(3)(1)(1)

我要回帖

更多关于 android hdmi 的文章

 

随机推荐