アンドリュースのBluetoothダイナミック権

アンドリュースのBluetoothダイナミック権

アンドロイド7.0以下

IDEのプロジェクト - オプションメニューは、左側のツリー構造を見つけ、ウィンドウ内にポップアップ表示されます:アプリケーションは - 権限プロジェクトを使用し、右はあなたが権限の束をチェックアウトできるようになります。ここではBluetoothおよびBluetoothの管理2で確認してください。
古いAndroidのバージョンは、その上でこれらの2をご確認ください。
アンドロイド8.0以上は、また、許可を得て、動的にアプリケーション・コードを実行する必要があります
コードの内部:
機能を実装するための最初:
手順RequestPermissionsResult(送信者:TObjectを、CONST APermissions:TARRAY <ストリング>; constのAGrantResults:TARRAY <TPermissionStatus>)。
この機能は、動的なアプリケーションの権限コールバック関数の結果です。
起動時にBLE、次のコードを介してアプリケーション権限:
PermissionsService.RequestPermissions([FLocationPermission]、RequestPermissionsResult、DisplayRationale)。
上記のコードPermissionsServiceはSystem.Permissionsの内部で宣言されています。
RequestPermissionsResult内のコードは、コールバック関数の前にあります。それはここに呼ばれ、また、パラメータを入力しています。
FLocationPermission内のコード:文字列;それから:
手順TForm6.FormCreate(送信者:TObjectを); 

開始

{$ IFDEF ANDROID} 

  FLocationPermission:= JStringToString(TJManifest_permission.JavaClass.ACCESS_COARSE_LOCATION)。

{$ ENDIF} 

END;

  

JStringToStringに使用されるコードはAndroidapi.Helpersを使用します。

上記コードはまたDisplayRationaleの関数です。

手順TForm6.DisplayRationale(送信者:TObjectを、CONST APermissions:TARRAY <ストリング>; constのAPostRationaleProc:TProc)。

開始

  TDialogService.ShowMessage(「我々は、BLEデバイスを検出するための権限を与えられる必要がある」

    :TModalResult)は手順(のconstのaResult 

    始める

      。APostRationaleProcを

    終了)

終了し、

  RequestPermissionsResultで権威によってこの関数の内部では、メソッドのBluetoothを呼び出すために行く前に、採用された場合、かどうかを判断します。

手順TForm6.RequestPermissionsResult(送信者:TObjectを、CONST APermissions:TARRAY <ストリング>; constのAGrantResults:TARRAY <TPermissionStatus>)。

開始

  ACCESS_COARSE_LOCATION://関与1つの権限を

  (長さ(AGrantResults)= 1)と(AGrantResults [0] = TPermissionStatus.Granted)その後、場合

    StartBLEDiscovery 


    TDialogService.ShowMessage( '権限が付与されていないとして、BLEスキャンを開始することはできません'); 

終わり;

  

ここでは、それを得るためにBLEの電話APPの問題を使用する許可。
それは「ポジショニング」の権限で使用されているので、奇妙なことが、ある、APPは、ウィンドウを許可するかどうか、APPは、使用許可をターゲットに、ユーザに尋ねるポップアップ表示されます、実行されています。ユーザーを許可した後、実際BLEを使用することができます。同じテスト携帯電話、私は、任意のプロンプトを表示せず、ダイレクトコール関連機能がBLE、動的な操作を行うためのアクセス許可には適用されませんが、BLE関連する関数を取得していない場合。
[ブルートゥース]権限を分離しないのですか?ブルートゥース、奇妙なビットを開くための許可を見つけるためにプロンプ​​トを表示。

おすすめ

転載: www.cnblogs.com/hnxxcxg/p/12114403.html
おすすめ