本文整理匯總了Java中android.net.TrafficStats.getUidTxBytes方法的典型用法代碼示例。如果您正苦於以下問題:Java TrafficStats.getUidTxBytes方法的具體用法?Java TrafficStats.getUidTxBytes怎麽用?Java TrafficStats.getUidTxBytes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.net.TrafficStats
的用法示例。
在下文中一共展示了TrafficStats.getUidTxBytes方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: 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);
}
示例2: 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;
}
示例3: 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);
}
}
示例4: 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();
}
示例5: 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";
}
}
示例6: 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;
}
}
示例7: 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;
}
示例8: 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;
}
示例9: 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();
}
}
示例10: 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;
}
示例11: stop
import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public void stop() {
if (running) {
trafficTxEnd = TrafficStats.getUidTxBytes(uid);
trafficRxEnd = TrafficStats.getUidRxBytes(uid);
}
}
示例12: 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)");
}
}
示例13: getUidTxBytes
import android.net.TrafficStats; //導入方法依賴的package包/類
@Test
public void getUidTxBytes() throws Exception {
double val = TrafficSampler.getUidTxBytes(2);
assertEquals(val,101,0);
PowerMockito.verifyStatic(times(2));
TrafficStats.getUidTxBytes(2);
}
示例14: waitForNetworkUpdate
import android.net.TrafficStats; //導入方法依賴的package包/類
private void waitForNetworkUpdate(long idleTimeoutMillis, long globalTimeoutMillis) {
final long startTimeMillis = SystemClock.uptimeMillis();
long prevTraffic = TrafficStats.getUidTxBytes(uid) + TrafficStats.getUidRxBytes(uid);
boolean idleDetected = false;
long totTraffic = 0;
while (!idleDetected) {
final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
final long remainingTimeMillis = globalTimeoutMillis - elapsedTimeMillis;
if (remainingTimeMillis <= 0) {
Util.err("NO_IDLE_TIMEOUT: " + globalTimeoutMillis);
break;
}
try {
Thread.sleep(idleTimeoutMillis);
long currTraffic = TrafficStats.getUidTxBytes(uid) + TrafficStats.getUidRxBytes(uid);
long delta = currTraffic - prevTraffic;
if (delta > 0) {
totTraffic += delta;
prevTraffic = currTraffic;
} else { // idle detected
idleDetected = true;
}
} catch (InterruptedException ie) {
/* ignore */
}
}
if (idleDetected) {
Util.log("Traffic: " + totTraffic);
}
}
示例15: getCurrentUidTxBytes
import android.net.TrafficStats; //導入方法依賴的package包/類
@CalledByNative
private static long getCurrentUidTxBytes()
{
long l = TrafficStats.getUidTxBytes(Process.myUid());
if (l != -1L) {
return l;
}
return 0L;
}