‘壹’ androidstudio中实现显示手机当前网络状态
1、首先先用usb线连接android手机,然后输入指令:adbtcpip,端口号默认为5555。
2、设置端口号后,然后查看设置中手机的ip地址。
3、通过adb连接ip地址adbconnectip地址。
4、打开androidstudio,可以看到手机已经连接上了。
‘贰’ Android 怎么获取手机网络信号问题
在我们有的时候需要可能需要自己写一个状态栏显示手机的的当前网络类似网络信号的问题这些需求先说说思路吧。
1.这个里面涉及一个核心的api :PhoneStateListener
让某个类继承PhoneStateListener 重写:onSignalStrengthsChanged 通过传入的SignalStrength getLevel()获取信号强度 判断网络是4G还是3G或者是2G 通过TelephoneManager getNetWorkType获取
关于显示移动信号显示就这几个方法,现在需要冬天更改因为手机变化的怎么做呢那么介绍另外一个API:SubscriptionManager
关于SubscriptionManager :
1.对象实例化: SubscriptionManager mSubscriptionManager = SubscriptionManager.from(Conrtext )返回一个实例对象
SubscriptionInfo sub0 = mSubscriptionManager.(0);
if(null != sub0) {
mPhoneStateListener = new Sim1SignalStrengthsListener(sub0.getSubscriptionId());
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
‘叁’ Android如何获取网络连接状态及怎样调用网络配置界面
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetManager {
Context context;
public NetManager(Context context) {
this.context = context;
}
// 判断网络是否可用的方法
public boolean isOpenNetwork() {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
// 判断WIFI网络是否可用的方法
public boolean isOpenWifi() {
ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifi.isConnected();
}
}
public static void netManager(final Context a) {
netManager = new NetManager(a);
if (!netManager.isOpenNetwork()) {
// 如果网络不可用,则弹出对话框,对网络进行设置
Builder builder = new Builder(a);
builder.setTitle("没有可用的网络");
builder.setMessage("是否对网络进行设置?");
builder.setPositiveButton("确定",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
try {
String sdkVersion = android.os.Build.VERSION.SDK;
if (Integer.valueOf(sdkVersion) > 10) {
intent = new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS);
} else {
intent = new Intent();
ComponentName comp = new ComponentName(
"com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(comp);
intent.setAction("android.intent.action.VIEW");
}
a.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
});
builder.setNegativeButton("取消",
null);
builder.show();
}else {
Toast.makeText(a, "网络不给力,请确认您的网络连接", Toast.LENGTH_LONG).show();
}
}
转载,仅供参考。
‘肆’ android 如何判断网络是否能够上网
实现步骤:
下面解决办法来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载。排到第三个。
1、获取ConnectivityManager对象
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
2、获取NetworkInfo对象
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
3、判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
4、在AndroidManifest.xml中添加访问当前网络状态权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
代码如下:
public class ClassTestDemoActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isNetworkAvailable(ClassTestDemoActivity.this))
{
Toast.makeText(getApplicationContext(), "当前有可用网络!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "当前没有可用网络!", Toast.LENGTH_LONG).show();
}
}
/**
* 检查当前网络是否可用
*
* @param context
* @return
*/
public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null)
{
return false;
}
else
{
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===状态===" + networkInfo[i].getState());
System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
// 判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
}
‘伍’ android 怎么判断网络状态
获取android系统的连接服务可判断网络连接状态,代码如下
public class NetUtils{
public static boolean isNetworkConnected(Context context){
ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] infos = cm.getAllNetworkInfo();
for(NetworkInfo info:infos){
if(info.isAvailable()&&info.isConnected()){
return true;
}
}
return false;
}
}
NetworkInfo的isAvailable()和isConnected()有以下5种状态:
在WLAN设置界面
1,显示连接已保存,但标题栏没有,即没有实质连接上:isConnected()==false,isAvailable()=true
2,显示连接已保存,标题栏也有已连接上的图标:isConnected()==true,isAvailable()=true
3,选择不保存后:isConnected()==false,isAvailable()=true
4,选择连接,在正在获取IP地址时:isConnected()==false,isAvailable()=false
5,连接上后:isConnected()==true,isAvailable()=true