本文整理匯總了Java中android.net.TrafficStats.getUidRxBytes方法的典型用法代碼示例。如果您正苦於以下問題:Java TrafficStats.getUidRxBytes方法的具體用法?Java TrafficStats.getUidRxBytes怎麽用?Java TrafficStats.getUidRxBytes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.net.TrafficStats
的用法示例。
在下文中一共展示了TrafficStats.getUidRxBytes方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getNetSpeed
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
* 得到網絡速度
*
* @param context
* @return
*/
public String getNetSpeed(Context context) {
long lastTotalRxBytes = 0;
long lastTimeStamp = 0;
String netSpeed = "0 kb/s";
long nowTotalRxBytes = TrafficStats.getUidRxBytes(context.getApplicationInfo().uid) ==
TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes() / 1024);//轉為KB;
long nowTimeStamp = System.currentTimeMillis();
long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒轉換
lastTimeStamp = nowTimeStamp;
lastTotalRxBytes = nowTotalRxBytes;
netSpeed = String.valueOf(speed) + " kb/s";
return netSpeed;
}
示例2: run
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public void run() {
double totalBytesReceived = TrafficStats.getUidRxBytes(uid);
double totalBytesSent = TrafficStats.getUidTxBytes(uid);
if (totalBytesReceived == TrafficStats.UNSUPPORTED || totalBytesSent == TrafficStats.UNSUPPORTED) {
Log.w(TAG, "The use of TrafficStats is not supported on this device.");
return;
}
if (previousReceived >= 0 && previousSent >= 0) {
received = (totalBytesReceived - previousReceived) / intervalSeconds;
sent = (totalBytesSent - previousSent) / intervalSeconds;
notifyObservers();
}
previousReceived = totalBytesReceived;
previousSent = totalBytesSent;
handler.postDelayed(this, intervalMilliseconds);
}
示例3: handleMessage
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public boolean handleMessage(Message msg) {
//不準?...
long mrx = TrafficStats.getMobileRxBytes() / 1024; ////獲取通過Mobile連接收到的字節總數,不包含WiFi
long mtx = TrafficStats.getMobileTxBytes() / 1024; //Mobile發送的總字節數
long trx = (long) ((TrafficStats.getTotalRxBytes() - mTotalRxBytes) * 1.00f / 1024);
mTotalRxBytes = TrafficStats.getTotalRxBytes(); //獲取總的接受字節數,包含Mobile和WiFi等
long ttx = TrafficStats.getTotalTxBytes() / 1024; //總的發送字節數,包含Mobile和WiFi等
long uidrx = TrafficStats.getUidRxBytes(getApplicationInfo().uid) / 1024;//獲取某個網絡UID的接受字節數,某一個進程的總接收量
long uidtx = TrafficStats.getUidTxBytes(getApplicationInfo().uid) / 1024;//獲取某個網絡UID的發送字節數,某一個進程的總發送量
StringBuilder sb = new StringBuilder();
sb.append("mrx:" + mrx + "\n\r")
.append("mtx:" + mtx + "\n\r")
.append("trx:" + trx + "\n\r")
.append("ttx:" + ttx + "\n\r")
.append("uidrx:" + uidrx + "\n\r")
.append("uidtx:" + uidtx + "\n\r")
;
mTvDeviceInfo.setText(sb.toString());
mHandler.sendEmptyMessageDelayed(0, 1000);
return true;
}
示例4: close
import android.net.TrafficStats; //導入方法依賴的package包/類
public final void close()
throws IOException
{
try
{
super.close();
long l4;
long l5;
long l6;
Object[] arrayOfObject2;
return;
}
finally
{
long l1 = SystemClock.elapsedRealtime() - NetworkStatsEntity.this.mProcessingStartTime;
long l2 = TrafficStats.getUidTxBytes(NetworkStatsEntity.this.mUid);
long l3 = TrafficStats.getUidRxBytes(NetworkStatsEntity.this.mUid);
Object[] arrayOfObject1 = new Object[5];
arrayOfObject1[0] = NetworkStatsEntity.this.mUa;
arrayOfObject1[1] = Long.valueOf(NetworkStatsEntity.this.mResponseLatency);
arrayOfObject1[2] = Long.valueOf(l1);
arrayOfObject1[3] = Long.valueOf(l2 - NetworkStatsEntity.this.mStartTx);
arrayOfObject1[4] = Long.valueOf(l3 - NetworkStatsEntity.this.mStartRx);
EventLog.writeEvent(52001, arrayOfObject1);
}
}
示例5: addSample
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
* Method for polling for the change in total bytes since last update and
* adding it to the BandwidthManager.
*/
protected void addSample() {
long newBytes = -1;
newBytes = TrafficStats.getUidRxBytes(Process.myUid());
if (newBytes == TrafficStats.UNSUPPORTED) {
newBytes = TrafficStats.getTotalRxBytes();
}
long byteDiff = newBytes - sPreviousBytes;
if (sPreviousBytes >= 0) {
synchronized (this) {
long curTimeReading = SystemClock.elapsedRealtime();
mConnectionClassManager.addBandwidth(byteDiff, curTimeReading - mLastTimeReading);
mLastTimeReading = curTimeReading;
}
}
sPreviousBytes = newBytes;
}
示例6: onCreate
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
}
mStartRX = TrafficStats.getUidRxBytes(mUid);
mStartTX = TrafficStats.getUidTxBytes(mUid);
if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) {
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Uh Oh!");
alert.setMessage("Your device does not support traffic stat monitoring.");
alert.show();
return;
}
mUid = android.os.Process.myUid();
}
示例7: getMobleTraffic
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
* 獲取應用使用的流量
*
* @return
*/
private String getMobleTraffic() {
long mobleTraffic = 0L;
int uid = getAppUid();
if (uid == -1) {
return "0.00M";
} else {
mobleTraffic = (TrafficStats.getUidRxBytes(uid) == TrafficStats.UNSUPPORTED) ? 0
: TrafficStats.getUidRxBytes(uid);
mobleTraffic += (TrafficStats.getUidTxBytes(uid) == TrafficStats.UNSUPPORTED) ? 0
: TrafficStats.getUidTxBytes(uid);
String traffic = mobleTraffic / (float) (1024 * 1024) + "M";
return traffic.substring(0, traffic.indexOf(".") + 3) + "M";
}
}
示例8: update
import android.net.TrafficStats; //導入方法依賴的package包/類
public void update() {
long delta_tx = TrafficStats.getUidTxBytes(app.uid) - tx;
long delta_rx = TrafficStats.getUidRxBytes(app.uid) - rx;
tx = TrafficStats.getUidTxBytes(app.uid);
rx = TrafficStats.getUidRxBytes(app.uid);
current_tx = current_tx + delta_tx;
current_rx = current_rx + delta_rx;
if(isMobil == true) {
mobil_tx = mobil_tx + delta_tx;
mobil_rx = mobil_rx + delta_rx;
} else {
wifi_tx = wifi_tx + delta_tx;
wifi_rx = wifi_rx + delta_rx;
}
}
示例9: current
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
* 計算當前流量
*
* @param context Context
* @param tag traffic tag
* @return received bytes
*/
public static long current(Context context, String tag) {
Long appRxValue = sReceivedBytes.get(tag);
Long appTxValue = sSendBytes.get(tag);
if (appRxValue == null || appTxValue == null) {
if (DEBUG) {
LogUtils.w(TAG, "current() appRxValue or appTxValue is null.");
}
return 0;
}
final int uid = getUid(context);
long appRxValue2 = TrafficStats.getUidRxBytes(uid);
long appTxValue2 = TrafficStats.getUidTxBytes(uid);
long rxValue = appRxValue2 - appRxValue;
long txValue = appTxValue2 - appTxValue;
if (DEBUG) {
LogUtils.v(TAG, "current() rxValue=" + rxValue / 1000 + " txValue=" + txValue / 1000 + " uid=" + uid);
}
return rxValue;
}
示例10: stop
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
* 統計TAG流量
*
* @param context Context
* @param tag traffic tag
* @return received bytes
*/
public static long stop(Context context, String tag) {
Long appRxValue = sReceivedBytes.remove(tag);
Long appTxValue = sSendBytes.remove(tag);
if (appRxValue == null || appTxValue == null) {
if (DEBUG) {
LogUtils.w(TAG, "stop() appRxValue or appTxValue is null.");
}
return 0;
}
final int uid = getUid(context);
long appRxValue2 = TrafficStats.getUidRxBytes(uid);
long appTxValue2 = TrafficStats.getUidTxBytes(uid);
long rxValue = appRxValue2 - appRxValue;
long txValue = appTxValue2 - appTxValue;
if (DEBUG) {
LogUtils.v(TAG, "stop() rxValue=" + rxValue / 1000 + " txValue=" + txValue / 1000 + " uid=" + uid);
}
return rxValue;
}
示例11: setEndTrafficCounter
import android.net.TrafficStats; //導入方法依賴的package包/類
/**
*
*/
private void setEndTrafficCounter() {
if (USE_PROCESS_UID_FOR_TRAFFIC_MEASUREMENT) {
this.trafficRxEnd = TrafficStats.getUidRxBytes(processUid);
this.trafficTxEnd = TrafficStats.getUidTxBytes(processUid);
}
else {
this.trafficRxEnd = TrafficStats.getTotalRxBytes();
this.trafficTxEnd = TrafficStats.getTotalTxBytes();
}
}
示例12: start
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public int start() {
uid = Process.myUid();
if ((trafficRxStart = TrafficStats.getUidRxBytes(uid)) == TrafficStats.UNSUPPORTED) {
return SERVICE_NOT_SUPPORTED;
}
running = true;
trafficTxStart = TrafficStats.getUidTxBytes(uid);
return SERVICE_START_OK;
}
示例13: stop
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public void stop() {
if (running) {
trafficTxEnd = TrafficStats.getUidTxBytes(uid);
trafficRxEnd = TrafficStats.getUidRxBytes(uid);
}
}
示例14: getNetSpeed
import android.net.TrafficStats; //導入方法依賴的package包/類
public static String getNetSpeed(Context context) {
String netSpeed = "0 kb/s";
long nowTotalRxBytes = TrafficStats.getUidRxBytes(context.getApplicationInfo().uid) == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes() / 1024);//轉為KB;
long nowTimeStamp = System.currentTimeMillis();
long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒轉換
lastTimeStamp = nowTimeStamp;
lastTotalRxBytes = nowTotalRxBytes;
netSpeed = String.valueOf(speed) + " kb/s";
return netSpeed;
}
示例15: updateData
import android.net.TrafficStats; //導入方法依賴的package包/類
@SuppressLint("SetTextI18n")
private void updateData() {
if (App.MiamPlayerConnection == null) {
return;
}
long diff = new Date().getTime() - App.MiamPlayerConnection.getStartTime();
String dateFormat = String.format(Locale.US, "%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(diff),
TimeUnit.MILLISECONDS.toMinutes(diff) % 60,
TimeUnit.MILLISECONDS.toSeconds(diff) % 60
);
tv_time.setText(dateFormat);
int uid = getActivity().getApplicationInfo().uid;
if (TrafficStats.getUidRxBytes(uid) == TrafficStats.UNSUPPORTED) {
tv_traffic.setText(R.string.connection_traffic_unsupported);
} else {
String tx = Utilities.humanReadableBytes(
TrafficStats.getUidTxBytes(uid) - App.MiamPlayerConnection.getStartTx(), true);
String rx = Utilities.humanReadableBytes(
TrafficStats.getUidRxBytes(uid) - App.MiamPlayerConnection.getStartRx(), true);
long total = TrafficStats.getUidTxBytes(uid) - App.MiamPlayerConnection.getStartTx() +
TrafficStats.getUidRxBytes(uid) - App.MiamPlayerConnection.getStartRx();
long a = total / TimeUnit.MILLISECONDS.toSeconds(diff);
String perSecond = Utilities.humanReadableBytes(a, true);
tv_traffic.setText(tx + " / " + rx + " (" + perSecond + "/s)");
}
}