我有几个关于Android连接的问题,如果有人有任何见解,那就太棒了.
1)应用程序想要无线连接时的默认值是多少?是wlan吗?如果关闭wlan或周围没有接入点是3g还是gprs?
2)设备是否始终连接IP?或者当它从wlan或3g禁用时它会丢失其IP地址?
3)是一个应用程序,例如浏览器只连接到一个IP地址?或者它可以连接到每个无线电的多个地址,如gprs或wifi(wlan)?
4)应用程序可以决定打开套接字的连接吗?例如,我可以创建一个应用程序并决定是否将套接字连接到wlan或gprs?或OS是否决定?
5)最后,本机应用程序如何处理连接?以相同的方式?
嗨,我有以下代码,读取网络/ Wifi状态:
public String getMacAddress() {
WifiManager wm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
return wm.getConnectionInfo().getMacAddress();
}
Run Code Online (Sandbox Code Playgroud)
这引发了
Caused by: java.lang.SecurityException: WifiService: Neither user 10032 nor current process has android.permission.ACCESS_WIFI_STATE
Run Code Online (Sandbox Code Playgroud)
和
public boolean is3G() {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
return !(connectivityManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED);
}
Run Code Online (Sandbox Code Playgroud)
这引发了
Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10032 nor current process has android.permission.ACCESS_NETWORK_STATE.
Run Code Online (Sandbox Code Playgroud)
在有人告诉我权限之前,那就是我的Manifest(相关部分):
<manifest>
<!-- usual tags for activitys... etc.. -->
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" …Run Code Online (Sandbox Code Playgroud) android cellular-network 3g android-wifi android-permissions
我想知道Android手机在通过3G连接到互联网时是否有MAC地址?我假设他们这样做,所以我想我真正的问题是无论是否有访问它?我没有通过查看API或通过谷歌搜索找到任何东西,但也许我错过了一些东西.
提前致谢
我有一个非常讨厌的问题.发生的事情是我有一个使用本机套接字通过TCP发送数据的应用程序.当我第一次启动我的应用程序并通过套接字发送数据时,没有任何东西通过.但是,如果我然后退出该过程并重新启动然后再次发送,则可以正常工作.如果我在睡眠模式后第一次启动我的应用程序之前打开浏览器或其他东西也一样.
在调用本机代码之前,如何强制"3G"退出睡眠模式?
编辑:我已经尝试过使用PowerManager.
我正在使用可访问性API来检测我当前的连接,但我只能区分WIFI和3G.
我得到以下标志:
LTE: kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable
无线上网: kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable
问题是LTE返回与3G连接相同的标志.有没有办法确定用户目前是否有LTE或3G?
我正在做一个项目,需要Android平板电脑通过Wifi(tcp/ip)与本地网络设备通信,同时通过3G(http请求)将数据发送到服务器.
Android平板电脑每1秒从本地网络设备接收数据.在整个运行时间内不得断开此连接.Android平板电脑将使用HTTP请求将数据发送到服务器一段时间(每分钟或更长的间隔).
是否有可能使WIFI和3G同时工作?如果没有,对我的问题有任何建议吗?
非常感谢你!
我IOError: request data read error在3G网络上传数据时随机进入Django的POST处理程序.Django提出该特定异常的问题已经得到解答(摘要:据称当客户端丢弃TCP连接时发生).但是,在我的情况下,我正试图解决潜在的问题.
从我试图缩小问题的范围来看,我发现:
3G,H和H+(UMTS,HSDPA和HSPA +)我猜测那里发生的事情就是切换塔.那么当3G在塔之间切换时,TCP连接会发生什么?
所以,我们正在寻找开发移动网站.在这个移动网站上,我们希望根据用户的IP地址自动填充用户的位置(适当的后备).我知道基于IP地址对地点进行地理编码(映射到纬度,经度,然后获取具有该信息的位置).
但是,我很好奇这些信息的准确性如何?移动设备在使用3G,EDGE和GPRS连接时是否分配了IP?我认同.如果是这样,它是否映射到相对准确的位置?它不一定要点,但相对准确会很好.
谢谢!史蒂夫
我只是想知道如何使用Android SDK启用/禁用3G/2G,而不只是想要进入3G设置页面.谢谢.也有办法做同样的事情,但有GPS.谢谢!
我有一个问题.我想为像Orange Pi Zero Plus 2这样的小型机购买GSM/GPS/3G模块,所以它不能像Raspberry Pi GSM Hat那样.我发现了非常好的模块,但我不确定某些事情.也许你可以帮助我.
第一.网络连接.SIM5320是3G模块,因此最大互联网连接速度为3.6Mb.如下图所示,该模块只有UART接口.我能通过UART接口使用最高3G速度吗?
第二.音频.该模块没有音频输入或输出.那么我可以使用UART接口和AT命令发送和接收音频吗?
预先感谢您的帮助.
3g ×10
android ×6
connectivity ×2
gprs ×2
wifi ×2
android-ndk ×1
android-wifi ×1
at-command ×1
geolocation ×1
gsm ×1
ios ×1
ip-address ×1
mac-address ×1
native ×1
networking ×1
orange-pi ×1
sdk ×1
sockets ×1
tcp ×1
wireless ×1