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

时间:2013-12-21 07:41:00

标签: android bluetooth wifi

我正在处理该应用程序,它将检测使用WIFI /蓝牙/其他方式传输的文件。它还将检测正在执行此操作的应用程序。

如果我想检测文件的传输,那么最好的方法是什么?

我认为可以通过广播接收器实现行动Intent.ACTION_SEND。但是,我为此@CommonsWare's提出了answer question

在我的案例中如何实现?

1 个答案:

答案 0 :(得分:0)

所有应用程序都在Android中进行沙盒处理,因此您可以从外部应用程序获取有关他们正在做的事情的有限信息。这是设计的,如果这一切都暴露出来会很糟糕。但这并不是说你无法收集他们的一些信息。您可以使用TrafficStats API查看通过网络发送的数据。因此,您可以连续轮询所有UID的API,并查看哪些uid已更新tx和rx字节。这将使您了解不同应用程序如何/何时通过网络发送数据。这不会让您访问特定的文件信息。

here获取所有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 here

不确定这是如何通过蓝牙实现的。如果您实际构建了要监视的其他应用程序,那么这当然是不同的。