NativeScript Android应用程序中的运行时请求权限

时间:2019-11-25 18:17:38

标签: nativescript nativescript-angular

我用本机脚本编写了一个应用程序,并且在首次启动应用程序后需要使用requestPermission。我知道如何使用请求权限,但是我不知道如何在首次运行应用程序后使其工作。我必须在应用程序中使用请求权限功能的地方?在ngOnInit()中?

2 个答案:

答案 0 :(得分:0)

您可以使用nativescript-permissions插件在Android上获取运行时权限。

使用hasPermission(permissionName);方法来知道您的应用是否已获得许可,或者您尚未获得许可。

通常,建议仅在绝对必要时才寻求许可。例如,如果您想访问麦克风以录制任何东西,则仅在用户尝试录制麦克风时才请求许可,而不是在启动时进行请求。

您仍然可以在启动时询问权限,这会起作用。但是我认为这可能会使用户感到烦恼。可能他不打算使用该应用程序的特定功能,而只是其余部分。

答案 1 :(得分:0)

// HTML

<Button text="Take Permissions" (tap)="getPermission()"></Button>

// TS文件

import * as camera from "nativescript-camera";



getPermission() {
    camera.requestPermissions().then(
      function success() {
        console.log('granted');
      }, 
      function failure() {
        console.log('failure');
      }
      );
  }

//搜索AndroidManifest.xml并将此代码添加到所有出现的位置。

<uses-permission android:name="android.permission.CAMERA" /> 

仅此而已!