如何解决Android中NetworkStats.BucketquerySummaryForDevice中的空存储桶
这是我的代码
Calendar startCalendar;
Calendar stopCalendar;
startCalendar= Calendar.getInstance();
stopCalendar=Calendar.getInstance();
startCalendar.set(2020,10,2,0);
stopCalendar.set(2020,3,0);
networkstatsmanager networkstatsmanager = (networkstatsmanager) getContext().getSystemService(Context.NETWORK_STATS_SERVICE);
NetworkStats.Bucket bucket;
bucket = networkstatsmanager.querySummaryForDevice(NetworkStats.Bucket.DEFAULT_NETWORK_ALL,"",startCalendar.getTimeInMillis(),stopCalendar.getTimeInMillis());
long rxBytes = bucket.getRxBytes();
long txBytes = bucket.getTxBytes();
我想获取每天的互联网使用量。该应用程序需要使用数据,我还检查了清单中所需的权限。
这是日志
2020-10-02 10:42:56.448 28091-28091/com.sreejithsreejayan.internetspeedometer D/AndroidRuntime: Shutting down VM
2020-10-02 10:42:56.452 28091-28091/com.sreejithsreejayan.internetspeedometer E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sreejithsreejayan.internetspeedometer,PID: 28091
java.lang.NullPointerException: Attempt to invoke virtual method 'long android.app.usage.NetworkStats$Bucket.getRxBytes()' on a null object reference
at com.sreejithsreejayan.internetspeedometer.ui.home.HomeFragment$2.onClick(HomeFragment.java:71)
at android.view.View.performClick(View.java:7870)
at android.widget.TextView.performClick(TextView.java:14970)
at android.view.View.performClickInternal(View.java:7839)
at android.view.View.access$3600(View.java:886)
at android.view.View$PerformClick.run(View.java:29363)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7814)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)
2020-10-02 10:42:56.490 28091-28091/com.sreejithsreejayan.internetspeedometer I/Process: Sending signal. PID: 28091 SIG: 9
为什么存储桶为空(空)。我是android开发的新手,请帮忙。
解决方法
我将NetworkStats.Bucket.DEFAULT_NETWORK_ALL
替换为ConnectivityManager.TYPE_WIFI
,但它不是null,但已弃用了ConnectivityManager.TYPE_WIFI
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。