2

次の方法でユーザー統計にアクセスしています。

 UsageStatsManager userStatsMgr = (UsageStatsManager)getSystemService("usagestats"); 

 List<UsageStats> userStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_BEST, timeStamp - 1000*200, timeStamp)

動作するようです:

 android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP

しかし、新しい SDK で引き続き機能するかどうかはわかりません。この権限の使用中にいくつかの警告が表示されますが、それらは具体的なものではありませんでした。だから私はこれらの制限が正確に何であるか疑問に思っています?

 ActivityManager mgr =  (ActivityManager)ctx.getSystemService(Context.ACTIVITY_SERVICE);
                            List<ActivityManager.RunningAppProcessInfo>   
     processes = manager.getRunningAppProcesses();
                            app=processes.get(0).processName;

また、

      ActivityManager actMgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
                    actMgr.killBackgroundProcesses(process);
4

1 に答える 1

5

android.permission.PACKAGE_USAGE_STATSシステム アクティビティによってのみ付与でき、そのアクティビティがすべてのデバイスに存在するとは限りません。少なくとも一部のデバイスから削除したことが知られているメーカーには、Samsungと LG が含まれます。

システム アクティビティを起動するインテント アクションはSettings.ACTION_USAGE_ACCESS_SETTINGSです。Intent#resolveActivity(...)起動を試みる前に、null 以外の値を返すことを確認してください。

于 2015-09-25T04:36:23.630 に答える