当前位置:首页 » 拨号测速 » android获取实时网速

android获取实时网速

发布时间: 2021-03-06 22:05:51

① android怎样获取网络速度

大部分系统是支持在状态栏显示实时网速的,像小米之类的都可以直接设置显示实时网速。部分厂商的系统没有这个功能可以通过第三方插件的悬浮窗来显示。

② android如何实现实时获取当前网络带宽

android如何实现实时获取当前网络带宽
/**
* 检查当前网络是否可用
*
* @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;
}

③ 如何获取到当前手机实时网速

oppo进入设置--通知与状态栏--显示实时网速,打开后即可在状态栏显示当前手机使用的网速。
注:打开此选项后,就不能显示运营商名称。

④ Android开发中,如何测当前网速

原理: 到网上找个可以下载的apk 的URL,记住apk不要过大一般1M足够了.然后通过记录下载这个apk的时间和大小,算出当前网速.当然一个URL并不是很准确,要求精确的可以多下载几个
URL求平均值</span>.

package com.panodic.settings.net;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import com.panodic.settings.util.LogUtil;
import com.panodic.settings.util.NetUtil;
import com.panodic.settings.util.Util;
import com.panodic.settings.view.PatchItem;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.panodic.settings.R;

public class MesureSpeed extends Activity implements OnClickListener {

private static final int LOADING = 0x111;
private static final int STOP = 0x112;
private ProgressBar mBar;
private int mProgressState;
private TextView mSpeed;
private Button mMeasureSpeed;
private PatchItem mBack;
private float mSpeedContent;
private String mAddr = "http://cdn.market.hiapk.com/data/upload/2012/12_09/22/cn.lgx.phoneexpert_221804.apk";
private String mAddr2 = "http://gdown..com/data/wisegame/6f9153d4a8d1f7d8/QQ.apk";
private String mAddr3 = "http://gdown..com/data/wisegame/search_Android_10189_1399k.apk";
private Handler mHandler = new Handler(Util.sTaskRunner.getLooper());
private int testCount = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_mesure_speed);
mSpeed = (TextView) findViewById(R.id.speed_content);
mMeasureSpeed = (Button) findViewById(R.id.mesure_speed);
mBack = (PatchItem) findViewById(R.id.patch_settings_net_speed);
mBar = (ProgressBar) findViewById(R.id.bar);
mMeasureSpeed.setOnClickListener(this);
mBack.setOnClickListener(this);
testCount = 0;
}

@Override
public void onClick(View v) {
if (mBack.isMyChild(v)) {
Util.finish(this);
} else if (v == mMeasureSpeed) {
mMeasureSpeed.setEnabled(false);
mBar.setVisibility(View.VISIBLE);
mProgressState = 0;
testCount = 0;
mBar.setProgress(mProgressState);
mHandler.removeCallbacks(null);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
measureSpeed(mAddr);
}
}, 0);
}
}

private Handler mProgressHandler = new Handler() {

@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case LOADING:
mBar.setProgress(mProgressState);
break;
case STOP:
mBar.setVisibility(View.GONE);
setSpeed();
mMeasureSpeed.setEnabled(true);
break;
default:
break;
}
}

};

private void setSpeed() {
if (mSpeedContent >= 1024) {
mSpeedContent = (float) ((mSpeedContent) / (1024 + 0.0));
mSpeedContent = (float) (((int) (mSpeedContent * 10) % 10 + 0.0) / 10 + (int) mSpeedContent);
mSpeed.setText(mSpeedContent + getString(R.string.m));
} else {
mSpeed.setText((int) mSpeedContent + getString(R.string.kb));
}
}

private void measureSpeed(String httpUrl) {
if (!NetUtil.isWifiConnected(this) && !NetUtil.isWireConnected(this)) {
Toast.makeText(this, getString(R.string.no_net), Toast.LENGTH_SHORT)
.show();
mProgressHandler.sendEmptyMessage(STOP);
return;
}
int fileLen = 0;
long startTime = 0;
long endTime = 0;
final String fileName = "tmp.apk";
HttpURLConnection conn = null;
InputStream is = null;
FileOutputStream fos = null;
File tmpFile = new File("/sdcard/temp");
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
final File file = new File("/sdcard/temp/" + fileName);
try {
URL url = new URL(httpUrl);
try {
conn = (HttpURLConnection) url.openConnection();
LogUtil.d("lening");
fileLen = conn.getContentLength();
LogUtil.d("len=" + fileLen);
if (fileLen <= 0) {
mSpeedContent = 0;
mProgressHandler.sendEmptyMessage(STOP);
Toast.makeText(this, getString(R.string.conn_fail),
Toast.LENGTH_SHORT).show();

return;
}
startTime = System.currentTimeMillis();
is = conn.getInputStream();
fos = new FileOutputStream(file);
byte[] buf = new byte[256];
conn.connect();
if (conn.getResponseCode() >= 400) {
Toast.makeText(this, getString(R.string.no_time),
Toast.LENGTH_SHORT).show();
mProgressHandler.sendEmptyMessage(STOP);
return;
} else {
while (true) {
if (is != null) {
int numRead = is.read(buf);
if (numRead <= 0) {
break;
} else {
fos.write(buf, 0, numRead);
}
mProgressState += (int) (((numRead + 0.0) / (fileLen + 0.0)) * 1000000);
mProgressHandler.sendEmptyMessage(LOADING);
// LogUtil.d("numRead=" + numRead + " fileLen="
// + fileLen);
} else {
break;
}
}
}
endTime = System.currentTimeMillis();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, getString(R.string.no_permission),
Toast.LENGTH_SHORT).show();
} finally {
if (conn != null) {
conn.disconnect();
}
try {
if (fos != null) {
fos.close();
}
if (is != null) {
is.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}

}
} catch (MalformedURLException e) {
e.printStackTrace();
}
mSpeedContent = fileLen / (endTime - startTime);
mProgressHandler.sendEmptyMessage(STOP);
}
}

⑤ java如何获得当前的网络传输速度

1. JAVA还没有API可以做到。
2. 可以通过脚本等到主机的网络流量:windown使用wmi,linux使用命令(watch -n 1 "/sbin/ifconfig eth0 | grep bytes")。

3. 另外就是SNMP协议,通过对于的MID获得主机或者网络设备的流量。
java有个开源的实现叫做SNMP4J,你可以google “SNMP4J 网络流量”搜索到大量信息。(
使用SNMP轮询做实事流量监控的频率不要太高,否则会有负载问题。)

⑥ 求安卓系统网速实时检测软件

手机有自带分组数据计数器,可以查询使用流量,但是不直观。
很多杀毒软件都带流量统计功能,还可以设置流量拦截功能,翻一个网页用多少流量都可以知道,360杀毒软件、
AVG杀毒软件、
其他杀毒软件都有着功能。
不用去找手机软件流量统计软件,只能说浪费手机内存,软件安装多了影响手机速度。

⑦ 安卓7.0怎么显示实时网速

1、打开手机桌面找到【设置】图标进入手机设置。

⑧ 安卓上有什么好用的实时网速显示 app

通知栏显示网速 安卓版
特点1.支持所有网络和Wifi网络2.支持多种模式显示.3.支持开机启动服务监测.4.占用资源少,真正为用户节省内存与CPU.5.支持文字大小,颜色设置.6.支持自定义悬浮窗背景.无网络时隐藏7.支持拖动模式,喜欢放那里就那里.

⑨ 有什么应用能够显示当前各个应用的实时网速,主要是想看哪个应用在用网,网速多少。。安卓的

到目前为止还没有。等待软件工程师们开发吧

⑩ 求一个查看安卓手机实时流量的软件,就是那种能实时查看某个软件实时网络速度的软件

我的是华为手机,用的lbe安全大师,点击悬浮窗可以看到各个应用的实时网速。但是自从emui4.0之后就无法正确显示应用的实时网速了,所有的都是0B/s,只能显示总网速,坑死爹了。如果你找到了更好的此类软件还望分享哈~~

热点内容
网卡了的原因 发布:2021-03-16 21:18:20 浏览:602
联通客服工作怎么样 发布:2021-03-16 21:17:49 浏览:218
路由器画图 发布:2021-03-16 21:17:21 浏览:403
大网卡收费 发布:2021-03-16 21:16:50 浏览:113
路由器免费送 发布:2021-03-16 21:16:19 浏览:985
孝昌营业厅 发布:2021-03-16 21:15:54 浏览:861
网速增速代码 发布:2021-03-16 21:15:29 浏览:194
怎么黑光纤 发布:2021-03-16 21:14:54 浏览:901
端口增大 发布:2021-03-16 21:14:20 浏览:709
开机没信号是什么原因 发布:2021-03-16 21:13:45 浏览:645