package cn.com.chenliang;import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;public class CheckWifiActivity extends Activity {
Button btnCheck = null;
Button btnOpen = null;
Button btnClose = null;
TextView status = null;
WifiManager wifiManager = null; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnCheck = (Button) findViewById(R.id.btn_check);
btnOpen = (Button) findViewById(R.id.btn_open);
btnClose = (Button) findViewById(R.id.btn_close);
status = (TextView) findViewById(R.id.status); btnCheck.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
int state = CheckWifi(CheckWifiActivity.this.getApplicationContext());
System.out.println("fdsafdafdsafdsafdsaf"); if(state ==
WifiManager.WIFI_STATE_DISABLED){//wifi网卡不可用
status.setText("wifi网卡不可用"); }else if( state ==
WifiManager.WIFI_STATE_DISABLING){ //wifi正在关闭
status.setText("wifi正在关闭"); }else if( state ==
WifiManager.WIFI_STATE_ENABLED){ //wifi网卡可用
status.setText("wifi网卡可用"); }else if( state ==
WifiManager.WIFI_STATE_ENABLING){ //wifi网卡正在打开
status.setText("wifi网卡正在打开"); }else if( state ==
WifiManager.WIFI_STATE_UNKNOWN){ //未知网卡状态
status.setText("未知网卡状态"); }
}
});
btnOpen.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
OpenWifi(CheckWifiActivity.this.getApplicationContext()); }
});
btnClose.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
CloseWifi(CheckWifiActivity.this.getApplicationContext()); }
});
}
public int CheckWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); int
mWifiState = wifiManager.getWifiState();
return mWifiState;
}
public
void OpenWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.getWifiState() == wifiManager.WIFI_STATE_DISABLED) {
wifiManager.setWifiEnabled(true);
}
}
public void CloseWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.getWifiState() == wifiManager.WIFI_STATE_ENABLED) {
wifiManager.setWifiEnabled(false);
}
}
}这是必要的权限:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="CheckWifi:"
/>
<Button
android:id="@+id/btn_open"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="打开WIFI"
/>
<Button
android:id="@+id/btn_close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="关闭WIFI"
/>
<Button
android:id="@+id/btn_check"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="检查wifi状态"
/>
<TextView
android:id="@+id/status"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="wifi状态"
/>
</LinearLayout>
问题:每当我在真机上点检测wifi状态、打开wifi、关闭wifi按钮时程序都会死掉,求大神帮忙看下,哪里还有问题! 另外求检测3g和2g状态的代码,求帮忙啊 !
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;public class CheckWifiActivity extends Activity {
Button btnCheck = null;
Button btnOpen = null;
Button btnClose = null;
TextView status = null;
WifiManager wifiManager = null; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnCheck = (Button) findViewById(R.id.btn_check);
btnOpen = (Button) findViewById(R.id.btn_open);
btnClose = (Button) findViewById(R.id.btn_close);
status = (TextView) findViewById(R.id.status); btnCheck.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
int state = CheckWifi(CheckWifiActivity.this.getApplicationContext());
System.out.println("fdsafdafdsafdsafdsaf"); if(state ==
WifiManager.WIFI_STATE_DISABLED){//wifi网卡不可用
status.setText("wifi网卡不可用"); }else if( state ==
WifiManager.WIFI_STATE_DISABLING){ //wifi正在关闭
status.setText("wifi正在关闭"); }else if( state ==
WifiManager.WIFI_STATE_ENABLED){ //wifi网卡可用
status.setText("wifi网卡可用"); }else if( state ==
WifiManager.WIFI_STATE_ENABLING){ //wifi网卡正在打开
status.setText("wifi网卡正在打开"); }else if( state ==
WifiManager.WIFI_STATE_UNKNOWN){ //未知网卡状态
status.setText("未知网卡状态"); }
}
});
btnOpen.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
OpenWifi(CheckWifiActivity.this.getApplicationContext()); }
});
btnClose.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
CloseWifi(CheckWifiActivity.this.getApplicationContext()); }
});
}
public int CheckWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); int
mWifiState = wifiManager.getWifiState();
return mWifiState;
}
public
void OpenWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.getWifiState() == wifiManager.WIFI_STATE_DISABLED) {
wifiManager.setWifiEnabled(true);
}
}
public void CloseWifi(Context context){
this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.getWifiState() == wifiManager.WIFI_STATE_ENABLED) {
wifiManager.setWifiEnabled(false);
}
}
}这是必要的权限:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="CheckWifi:"
/>
<Button
android:id="@+id/btn_open"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="打开WIFI"
/>
<Button
android:id="@+id/btn_close"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="关闭WIFI"
/>
<Button
android:id="@+id/btn_check"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="检查wifi状态"
/>
<TextView
android:id="@+id/status"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="wifi状态"
/>
</LinearLayout>
问题:每当我在真机上点检测wifi状态、打开wifi、关闭wifi按钮时程序都会死掉,求大神帮忙看下,哪里还有问题! 另外求检测3g和2g状态的代码,求帮忙啊 !
解决方案 »
- activity跳转问题,求大神!
- 菜鸟提问:使用包名调用应用
- android 用广播启动服务,在服务里启动activity,执行停止时第一次可以停止,后面不可以停。郁闷啊·····大侠帮帮忙
- 怎样在android模拟器里打开并显示已存在的数据库,而不是重新创建
- android程序中线程出错不知是什么原因?
- 如何对一个view进行布局?
- method() throws Exception 为什么可以不用try{}catch(){}
- 求助:android 手机端通过gprs 上网,无法获得webservers数据
- 诚聘手机软件开发工程师
- 求大神呀求大神
- 100分 让一个界面弹出到所有APK的界面之上
- 请问大家,怎样在非onDraw方法外获取到canvas呢?希望知道的帮帮忙,感激不尽!!
以前权限位置:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.com.chenliang"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CheckWifiActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> </application>
</manifest>改变权限位置后:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.com.chenliang"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CheckWifiActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>