0

最近のアプリの使用状況に関する情報を取得する必要があります。AndroidはAPIレベル21のUsageStatsManagerを取得

API 21の前には、getRunningTasksまたはgetRecentTasksを使用してこの情報を取得しました。これらのメソッドはAPI 21では廃止されました。

今、APIレベル21
をしかしで導入UsageStatsManagerクラスがあります! Context.getSystemService(UsageStatsService)was added only in API level 22!

質問です - API 21内のデータを必要に応じて取得する方法? dashboardsによると、このAPIレベルでは13%のユーザーがおり、私はそれらを失いたくありません。

答えて

1

まあContext#getSystemService(...)はAPIレベル1で導入されましたが、コンテキストUSAGE_STATS_SERVICE文字列はそうのpublic static final文字列フィールドContext.USAGE_STATS_SERVICEのみAPIレベル22とアップでデバイスにアクセスできるAPIレベル22で導入されました。 APIレベル21で必要なデータを取得するには、解決されたString "usagestats"をこのメソッドに渡すだけです。

TL; DR
使用Context.getSystemService("usagestats")

さらに注記:
#1 USAGE_STATS_SERVICEフィールドは、APIレベル21にすでにあったがアクセスできないで行われた@hideプロパティでタグ付けされました。 APIレベル22では、これは削除されました。

#2あなたは@SuppressWarnings("WrongConstant")それ以外のAndroidメーカーを経由して指定されたメソッドのために帰属検査を有効にすることがあります、それが有効な定数

ない苦情
関連する問題