1

xamarin androidをアップデートして、バージョン7.0(Nougat)を使用してアプリケーションをコンパイルしました。しかし、6.0.1(marshmallow)にアプリケーションをデプロイすると、すべての権限がすでに設定されています。設定から場所の許可を無効にすると、「このアプリは古いバージョンのアンドロイド用に設計されているため、許可を拒否すると意図したとおりに機能しなくなる可能性があります」という警告が表示されます。次に、許可を拒否し、Context.CheckSelfPermissionメソッドでアプリがPermissionを返した場合は、とにかく指定されています。 このxamarinの問題か、SelfPermissionの動作の変更がありますか?デフォルトでAndroidのアクセス許可が設定されていて、アプリケーションがオフであるかどうかわからない

Application.Context.CheckSelfPermission(Manifest.Permission.AccessCoarseLocation) == Permission.Granted//returns true, even if permission is off  
Application.Context.CheckSelfPermission(Manifest.Permission.AccessFineLocation) == Permission.Granted//returns true, even if permission is off 
+1

最高の修飾回答を得るには、コードを投稿することをおすすめします。 – yams

答えて

2

解決策は、ターゲットSDKをマニフェストの23に設定することでした。このようにして、このAPIレベルでテストしたことをデバイスに伝えます。したがって、AppCompatメソッドCheckSelfPermissionが機能します。

1

私は同様の問題がありました。私の問題を解決したと思われるのは、Xamarinのプロジェクトオプションを変更することでした。私が "Override - Android 7.0(API 24)"に変更したときに、プロジェクトオプションのAndroidアプリケーションタブに、ターゲットAndroidバージョン用に選択された "自動使用ターゲットフレームワークバージョン(API 24)"がありました。問題。

1

明示的にtargetSdkVersionを設定する必要があります。自動では<が動作するようです。

関連する問題