java wifimanager_java – 如何在非活动类中使用WifiManager?

我有两个类:其中一个是活动类,另一个是非活动类.我调用一个非活动类中的方法来返回mac Adress.

活动类:

public class Control extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

deneme d = new deneme(this); // i has tried (getApplicatonContext)

String x = d.macadress();

Toast.makeText(getApplicationContext(),x,Toast.LENGTH_LONG).show();

}}

和非活动类:

public class deneme {

Context mcontext ;

WifiManager wm;

public deneme(Context mcontext){

this.mcontext = mcontext;

}

public String macadress(){

wm = (WifiManager)mcontext.getSystemService(Context.WIFI_SERVICE);

String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();

return m_szWLANMAC;

}}

但该方法返回null.我有权限ACCESS_WIFI_STATE.

最佳答案

如果你的wifi没有在设备上启用,它将返回null作为你的情况,检查是否启用了wifi然后如果它启用返回mac地址否则通知用户启用wifi.

package com.example.wifitest;

import android.content.Context;

import android.net.wifi.WifiManager;

import android.widget.Toast;

public class TEST {

Context mcontext;

WifiManager wm;

public TEST(Context mcontext) {

this.mcontext = mcontext;

}

public String macadress() {

wm = (WifiManager) mcontext.getSystemService(Context.WIFI_SERVICE);

if (wm.isWifiEnabled()) {

String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();

return m_szWLANMAC;

}

else{

Toast.makeText(mcontext,"Please enbale your wifi",Toast.LENGTH_SHORT).show();

return null;

}

}

}

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值