如何在Android中获取通过蓝牙、WiFi传输的文件的详细信息

6
我正在开发一款应用程序,它将检测使用WIFI/蓝牙/其他方式传输的文件,并且还将检测执行此操作的应用程序。
如果我想检测文件的传输,那么最好的方法是什么?
我曾考虑通过广播接收器来实现Intent.ACTION_SEND的操作。但是,我看到了@CommonsWare答案,回答了这个问题
在我的情况下,如何实现?
1个回答

0

在Android中,所有应用程序都被沙盒化,因此您可以从外部应用程序获取的信息有限。这是出于设计考虑,如果所有信息都暴露出来,那将是可怕的。但这并不意味着您不能从中获取一些信息。您可以使用TrafficStats API查看通过网络发送的数据。因此,您可以连续轮询这些API以获取所有UID,并查看哪些UID已更新了tx和rx字节。这将使您了解不同应用程序何时/如何通过网络发送数据。这不会让您访问特定文件的信息。

获取所有UID的示例代码取自此处

final PackageManager packageManager = getPackageManager();
List<ApplicationInfo> installedApplications = 
   packageManager.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo appInfo : installedApplications)
{
    Log.d("OUTPUT", "Package name : " + appInfo.packageName);
    Log.d("OUTPUT", "Name: " + appInfo.loadLabel(packageManager));
} 

交通统计 API 可在 此处 找到。
不确定如何通过蓝牙实现。当然,如果您确实构建了要监视的其他应用程序,则情况会有所不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接