當前位置: 首頁>>代碼示例>>Java>>正文


Java TrafficStats.getUidTxBytes方法代碼示例

本文整理匯總了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);
}
 
開發者ID:Manabu-GT,項目名稱:DebugOverlay-Android,代碼行數:22,代碼來源:NetStatsDataModule.java

示例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;
}
 
開發者ID:AlanCheen,項目名稱:PracticeDemo,代碼行數:27,代碼來源:DeviceInfoActivty.java

示例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);
  }
}
 
開發者ID:ChiangC,項目名稱:FMTech,代碼行數:27,代碼來源:NetworkStatsEntity.java

示例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();
}
 
開發者ID:legendmohe,項目名稱:LEHomeMobile_android,代碼行數:17,代碼來源:HomeStateFragment.java

示例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";
	}

}
 
開發者ID:justingboy,項目名稱:CouldBooks,代碼行數:21,代碼來源:ReadstatisticsActivity.java

示例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;
    }
}
 
開發者ID:antonpinchuk,項目名稱:trafficstats-example,代碼行數:19,代碼來源:ApplicationItem.java

示例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;

}
 
開發者ID:mcxiaoke,項目名稱:Android-Next,代碼行數:28,代碼來源:TrafficUtils.java

示例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;

}
 
開發者ID:mcxiaoke,項目名稱:Android-Next,代碼行數:28,代碼來源:TrafficUtils.java

示例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();			
	}
}
 
開發者ID:rtr-nettest,項目名稱:open-rmbt,代碼行數:14,代碼來源:WebsiteTestServiceImpl.java

示例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;
}
 
開發者ID:rtr-nettest,項目名稱:open-rmbt,代碼行數:12,代碼來源:TrafficServiceByUidImpl.java

示例11: stop

import android.net.TrafficStats; //導入方法依賴的package包/類
@Override
public void stop() {
	if (running) {
		trafficTxEnd = TrafficStats.getUidTxBytes(uid);
		trafficRxEnd = TrafficStats.getUidRxBytes(uid);
	}
}
 
開發者ID:rtr-nettest,項目名稱:open-rmbt,代碼行數:8,代碼來源:TrafficServiceByUidImpl.java

示例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)");
    }
}
 
開發者ID:MBach,項目名稱:Miam-Player-remote,代碼行數:32,代碼來源:ConnectionFragment.java

示例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);
}
 
開發者ID:weexteam,項目名稱:weex-analyzer-android,代碼行數:9,代碼來源:TrafficSamplerTest.java

示例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);
	}
}
 
開發者ID:MagicHry,項目名稱:EnhancedPUMA,代碼行數:34,代碼來源:LaunchApp.java

示例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;
}
 
開發者ID:ChiangC,項目名稱:FMTech,代碼行數:10,代碼來源:AndroidTrafficStats.java


注:本文中的android.net.TrafficStats.getUidTxBytes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。