ActivityCompat 在 android.support.v4.app 上始终未定义

ActivityCompat always undefined on android.support.v4.app

最近我创建了本机脚本 angular 应用程序。我正在尝试获取 SMS 的读取权限,但出现以下错误

错误类型错误:无法读取未定义的 属性 'requestPermissions'

(<any>android.support.v4.app.ActivityCompat).requestPermissions(app.android.context,
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

添加以下行到 manifest.xml

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

我试过 nativescript-permissions 插件,它工作正常,但我想尝试不使用插件

更新:工作代码

    const activity = app.android.foregroundActivity || app.android.startActivity;
    (<any>androidx.core.app.ActivityCompat).requestPermissions(activity,
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

    // or
    activity.requestPermissions(
        [(<any>android).Manifest.permission.RECEIVE_SMS], REQUEST_REQUIRED_PERMISSIONS);

随着 {N} 6 及更高版本对 AndroidX 的支持,android.support.v4.app.ActivityCompat 不再存在。应该是 androidx.core.app.ActivityCompat.

可以直接使用with context obj

context.requestPermissions(new String[] {
      Manifest.permission.RECEIVE_SMS
  }, REQUEST_REQUIRED_PERMISSIONS);