すべてのアプリケーションは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です。
これがどのようにブルートゥースで可能かわかりません。これはもちろん、監視しようとしている他のアプリケーションを実際に構築した場合とは異なります。