我正在尝试获取所有应用的网络流量统计信息.我只打印设备中每个应用程序的总网络流量.代码在android 4.4和5.1设备中运行良好,但在android 6.0设备中,它总是为所有应用程序返回0.任何人都可以告诉我为什么在Android 6.0设备中发生这种情况.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for(ApplicationInfo app : getPackageManager().getInstalledApplications(0)){
long tx = TrafficStats.getUidTxBytes(app.uid);
long rx = TrafficStats.getUidRxBytes(app.uid);
long total = tx + rx;
Log.e("total data of ", app.packageName + " = " + total);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mts.trafficstatsdemo">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud) 我在项目中使用“.so”文件,但它给出以下错误“ java.lang.UnsatisfiedLinkError:未找到布尔值的实现”,我已经尝试使用 Cygwin 重新创建“.so”并将其放入jniLibs文件夹中并使用 create一罐它,但它给出了同样的错误。
但相同的“.so”文件正在我现有的项目中工作。我尝试了很多方法,但根本不起作用,我该怎么办?
com.amaze.filemanager E/art:找不到布尔值 com.amaze.filemanager.scanner.SignatureLib.InitScanner(java.lang.String, java.lang.String) 的实现(尝试过 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner 和 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner__Ljava_lang_String_2Ljava_lang_String_2) 12- 19 11:47 :07.463 4579-4934/com.amaze.filemanager E/AndroidRuntime:致命异常:Thread-5230进程:com.amaze.filemanager,PID:4579 java.lang.UnsatisfiedLinkError:找不到布尔值com.amaze.filemanager.scanner的实现.SignatureLib.InitScanner(java.lang.String, java.lang.String) (尝试了 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner 和 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner__Ljava_lang_String_2Ljava_lang_String_2) 在 com.amaze.filemanager.scanner.SignatureLib.InitScanner(本机方法) 在 com.amaze.file manager.scanner.SignatureLib。 InitializeScanner(SignatureLib.java:42) 在 com.amaze.filemanager.scanner.Signature.(Signature.java:62) 在 com.amaze.filemanager.ScanForVirusActivity$1.run(ScanForVirusActivity.java:66)
public class SignatureLib {
static {
System.loadLibrary("Signature");
}
SharedPreferencesUtils spu;
Context context;
public SignatureLib(Context context) {
this.context = context;
}
private native boolean InitScanner(String strDBPath, String dbPathTemp);
private native boolean DeInitScanner();
private native String checkVirus(String filepath);
private native boolean …Run Code Online (Sandbox Code Playgroud) 由于 proguard 无法生成签名 APK。
我在项目中使用枚举、接口。
请帮忙。