アンドロイド携帯電話にその場所の使用許可を依頼しています。拒否または許可のダイアログボックスが表示されますが、これは問題ありません。 問題は、その応答をどのように捕らえるのか分かりません。次のように私のコードは次のとおりです。コールバックとして働くonRequestPermissionsResult
を使用する方法についてのドキュメントは、私が推測する、nativescript-android:「実行時にロケーションの権限をリクエストする」というコールバック
var location_permissions = [
(android as any).Manifest.permission.ACCESS_COARSE_LOCATION,
(android as any).Manifest.permission.ACCESS_FINE_LOCATION
];
(android.support.v4.app.ActivityCompat as any).requestPermissions(
app.android.foregroundActivity,
location_permissions,
"PERMISSION_LOCATION_REQUEST_CODE"
);
// var grantResults = [];
// (app.android.foregroundActivity as any).onRequestPermissionsResult(
// app.android.foregroundActivity,
// "PERMISSION_LOCATION_REQUEST_CODE",
// location_permissions,
// grantResults
//);
ありますか? (https://developer.android.com/training/permissions/requesting.html)私はそこに書きましたが、どのようにコアラティブに実装するべきかは不明です。これはtypescriptですとangular2で書かれているので、私は私が.then
で応答を捕まえることができると思ったが、それはエラーがスローされます:cannot read property then of undefined
こんにちはStarwave、NativeScriptには、このような機能を提供する 'nativescritp-geolocation'という外部プラグインがあります。さらにプラグインを使うと、 'enableLocationRequest(true);' - https://github.com/NativeScript/nativescript-geolocation/blob/master/source/location-monitor.dという1つのメソッドを呼び出すことで、必要なアクセス権を取得することができます。 ts#L39 –
私はすでにそれを使用していますが、上記のアンドロイドプラットフォームの宣言でこれを行う方法を知っておく必要があるので、カレンダーやファイルなどの他のアクセス許可をバインドすることもできます... – Starwave
'nativescript-permissions'は、より多くのパーミッションをリクエストしたり、プラグインコードを使用したりするためのものです。 - https://github.com/NathanaelA/nativescript-permissions/blob/master/permissions.android.js#L118-L179 –