3
アンドロイドのロリポップから、他のアプリの利用にアクセスしたいアプリはセキュリティで有効にする必要があります。 「設定」 - >「セキュリティ」 - >「アプリケーション」を手動で手動で有効にするのではなく、プログラムで有効にする必要があります。私はどこでも明確な答えを見つけることができません。誰かが私にこの1つを助けることができますか?アプリにアクセスを許可するにはどうすればよいですか?
アンドロイドのロリポップから、他のアプリの利用にアクセスしたいアプリはセキュリティで有効にする必要があります。 「設定」 - >「セキュリティ」 - >「アプリケーション」を手動で手動で有効にするのではなく、プログラムで有効にする必要があります。私はどこでも明確な答えを見つけることができません。誰かが私にこの1つを助けることができますか?アプリにアクセスを許可するにはどうすればよいですか?
あなたの活動でこれを試してみてください:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isAccessGranted()) {
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
}
}
private boolean isAccessGranted() {
try {
PackageManager packageManager = getPackageManager();
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
AppOpsManager appOpsManager = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
int mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS,
applicationInfo.uid, applicationInfo.packageName);
return (mode == AppOpsManager.MODE_ALLOWED);
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
私は助けを願って、このコードを試してみてください、あなた
if (Build.VERSION.SDK_INT >= 21) {
UsageStatsManager mUsageStatsManager = (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE);
long time = System.currentTimeMillis();
List stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time);
if (stats == null || stats.isEmpty()) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_USAGE_ACCESS_SETTINGS);
context.startActivity(intent);
}
}