2017-07-08 6 views
-2

私はAndroidアプリを持っていますが、ユーザーが「インストール」ボタンをクリックするとアプリが直接インストールされ、ユーザーが直接受け入れる許可を求めるメッセージが表示されませんでした。ユーザーがGoogle Playにアプリをインストールするときに必要なすべての権限をリクエストするにはどうすればよいですか?

しかし、私は、ユーザーがボタンをクリックし、「インストール」する場合、実行する必要がありアプリの前に必要なすべての許可を要求するものをちょうど下の画像のようにGoogle Playからダウンロードを開始:これまでのところ

enter image description here

私マニフェストはこのようになります

<uses-feature android:name="android.hardware.camera" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

これを達成するには何を追加する必要がありますか?

+0

なぜこのアプリは実行時にアクセス許可を要求していないと思いますか?アプリで – Vyacheslav

+0

、私はランタイム中に許可を要求する任意の警告ダイアログが表示されません。 – ken

答えて

0

5.0のAndroid以降、ランタイムのアクセス許可が導入されました。 ほとんどのユーザーがインストール中にアクセス許可を読み取らない理由。 したがって、最新のAPIはすべて実行時アクセス許可を使用する必要があります。 Googleマップなどの既定のアプリケーションでさえ、実行時のアクセス許可が必要です。

https://developer.android.com/training/permissions/requesting.html

あなたは古いAPIのバージョンを使用する必要があり、実行時のアクセス権を使用しない場合。しかし、あなたは確認する必要があります。あなたのアプリがクラッシュする可能性があります。

+0

私は自分のアプリをインストールすると、ポップアップダイアログが100%Google Playに表示されることを確認できますか? – ken

0

androidのデバイスの場合< 6.0のアクセス許可はインストール時に要求されます。 アンドロイド> 6.0のアクセス権を持つデバイスは、実行時にリクエストされます。

あなたのアプリが6.0以降のデバイスと互換性を持たせたい場合は、Manifest.xmlに権限を宣言し、実行時に権限を要求する必要があります。

The official guide

1

あなたは、インストール時に権限の要求を強制的にされ、あなたのtargetSdkVersion 23の下を持って大歓迎です。

時間の経過とともに、インストール時にこの権限ダイアログが表示されることは、あなたのアプリが廃止され、維持されていないことを将来のユーザーに伝えます。予想されるユーザーの数が増えれば、結果としてあなたのアプリをインストールしないことになります。

また、ユーザーは設定アプリでリクエストされた権限を削除できます。

関連する問題