
不能。
简要说微信公众平台的数据流是这样的:
终端用户在微信App里 *** 作 -> 发送到微信后台 -> 微信后台解析 *** 作后,以JSON格式POST到你自行开发的公众平台端 -> 自行开发的平台回复响应数据(JSON)至微信后台 -> 微信后台解析此响应 ->发送至终端用户的微信App
加粗的三步是以腾讯公布的开发文档接口格式为准,里面没有涉及到MAC地址的部分,所以无法获取。理论上说,只有(1)腾讯在App中获取了手机MAC,且(2)微信后台把MAC地址信息POST到你的开发端,你才能得到MAC地址,现在是不支持的。(1)做没做不好说,(2)肯定没做,因为没有必要在应用层提供数据链路层的信息。
-----
来补充一下,前面说到正规途径目前是不可能的。
如果一定要做的话,提供几个思路参考:
1 给用户发送URL,并指导用户在微信外用手机浏览器打开此页面。如果在这个页面里可以黑掉手机浏览器的话接下来做的事情就很随意了……(只是理论上可行,基本没有可 *** 作性)
2 给用户发送URL,再在网页上诱使用户安装你定制/自制的软件,这样接下来就又很随意了……(在安卓理论上可行,但是还是很难……)
3 给用户发送如何查看自己MAC地址的教程,然后搞有奖活动,发送MAC地址就送点儿啥……
基本上代价都很大,所以我也有个问题:你是为什么要MAC地址呢?
/
获取设备的mac地址
@param ac
@param callback
成功获取到mac地址之后会回调此方法
/
public static void getMacAddress(final Activity ac, final SimpleCallback callback) {
final WifiManager wm = (WifiManager) ac getSystemService(ServiceWIFI_SERVICE);
// 如果本次开机后打开过WIFI,则能够直接获取到mac信息。立刻返回数据。
WifiInfo info = wmgetConnectionInfo();
if (info != null && infogetMacAddress() != null) {
if (callback != null) {
callbackonComplete(infogetMacAddress());
}
return;
}
// 尝试打开WIFI,并获取mac地址
if (!wmisWifiEnabled()) {
wmsetWifiEnabled(true);
}
new Thread(new Runnable() {
@Override
public void run() {
int tryCount = 0;
final int MAX_COUNT = 10;
while (tryCount < MAX_COUNT) {
final WifiInfo info = wmgetConnectionInfo();
if (info != null && infogetMacAddress() != null) {
if (callback != null) {
acrunOnUiThread(new Runnable() {
@Override
public void run() {
callbackonComplete(infogetMacAddress());
}
});
}
return;
}
SystemClocksleep(300);
tryCount++;
}
// 未获取到mac地址
if (callback != null) {
callbackonComplete(null);
}
}
})start();
}
不可以获取,这种属于浏览器安全限制,不提供获取的接口,但可以通过插件等方式,前提是用户必须安装你的插件。
不可以获取,这种属于浏览器安全限制,不提供获取的接口,但可以通过插件等方式,前提是用户必须安装你的插件
以上就是关于通过微信公众平台开发能获取到手机的MAC地址吗全部的内容,包括:通过微信公众平台开发能获取到手机的MAC地址吗、android开发怎么用脚本获取手机的mac地址、H5页面能获得手机或PAD的mac地址吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)