2016-04-24 2 views
4

ユーザーが私のアプリケーションに許可を与えて、PACKAGE_USAGE_STATSを使用することを確認したいのですが、私は現在やっていることはこれです:PACKAGE_USAGE_STATSへのアクセス許可を依頼する

// Control that the required permissions is instantiated! 
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(this, Manifest.permission.PACKAGE_USAGE_STATS) != PackageManager.PERMISSION_GRANTED) { 
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.PACKAGE_USAGE_STATS}, MULTIPLE_PERMISSION_GRANTED); 
} 

Androidデベロッパーセクションで説明したように、私はrequestPermissionsを実装しているし、それがACCESS_FINE_LOCATIONためうまく働いています。

しかし、私のアプリケーションの要求の権限は、それが唯一の ACCESS_FINE_LOCATION許可を示し、いつ PACKAGE_USAGE_STATSは、誰もが理由を説明することができませんか?もしそうなら、私はそれをどうやってやることができるかの解決策を教えてください。

私は両方の権限は、このようなダイアログボックスに表示したい: enter image description here

答えて

7

あなたが危険な許可を得て行うように残念ながらあなたは、実行時にPACKAGE_USAGE_STATSを要求することはできません。ユーザーはUsageStatsManagerdocumentationで説明したように手動で設定アプリケーションを介して権限を付与する必要があります。

このAPIは、システム・レベル 許可され、認められません許可 android.permission.PACKAGE_USAGE_STATSを必要とし、サードパーティのアプリにただし、アクセス許可を宣言する は、APIを使用する意図を示し、デバイスの ユーザーは、設定アプリケーションを通じて許可を与えることができます。

あなたは直接このコードでApps with usage access活動を開くことができます。

startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS)); 

Hereアプリの利用統計のAPIを使用する方法を示し、基本的なアプリの例を見つけることができます。

+0

ええ、私はすでにそれをやっています。私はユーザーが設定アプリを開く必要があるだけで迷惑です。しかし、それをクリアしていただきありがとうございます。 – Anonymous

関連する問題