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


Java TrafficStats.getUidRxBytes方法代碼示例

本文整理匯總了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;
}
 
開發者ID:hushengjun,項目名稱:FastAndroid,代碼行數:25,代碼來源:BaseTool.java

示例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);
}
 
開發者ID:Manabu-GT,項目名稱:DebugOverlay-Android,代碼行數:22,代碼來源:NetStatsDataModule.java

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

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

示例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;
}
 
開發者ID:WeiDianzhao1989,項目名稱:AndroidAppLib,代碼行數:22,代碼來源:DeviceBandwidthSampler.java

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

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

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

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

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

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

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

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

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

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

示例13: 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

示例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;
}
 
開發者ID:iPanelkegy,項目名稱:MobileMedia,代碼行數:12,代碼來源:NetUtils.java

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


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