gpt4 book ai didi

java - 你如何为 React Native 实现 PermissionAwareActivity?

转载 作者:行者123 更新时间:2023-11-29 02:39:54 30 4
gpt4 key购买 nike

关于 react native 的 PermissionAwareActivity 的文档非常少我需要为 Android API 23+ 实现它的方法,以允许用户接受/拒绝蓝牙权限。

import android.support.v4.app.ActivityCompat; 
import com.facebook.react.modules.core.PermissionAwareActivity;
import com.facebook.react.modules.core.PermissionListener;
public class MainActivity extends ExponentActivity implements PermissionAwareActivity {

private PermissionListener mPermissionListener;

@Override
public int checkPermission(String permission, int pid, int uid) {
return PackageManager.PERMISSION_GRANTED;
}

@Override
public int checkSelfPermission(String permission) {
return PackageManager.PERMISSION_GRANTED;
}

@Override
public void requestPermissions(String[] permissions, int requestCode, PermissionListener listener) {
mPermissionListener = listener;
ActivityCompat.requestPermissions(this, permissions, requestCode);
}


@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
// callback to native module
mPermissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
...

我不太确定应该如何实现这些方法。任何帮助表示赞赏。即使有人可以指出一些我找不到的文档或资源。

最佳答案

如果您没有使用不是从我的 ReactActivity 派生的 Activity 并且需要权限感知,请将以下内容添加到您的 Activity 中:

import com.facebook.react.modules.core.PermissionAwareActivity;
import com.facebook.react.modules.core.PermissionListener;

....

public class MyActivity extends Activity implements PermissionAwareActivity {
private PermissionListener permissionListener;

....


@TargetApi(Build.VERSION_CODES.M)
public void requestPermissions(String[] permissions, int requestCode, PermissionListener listener) {
permissionListener = listener;
requestPermissions(permissions, requestCode);
}

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (permissionListener != null && permissionListener.onRequestPermissionsResult(requestCode, permissions, grantResults)) {
permissionListener = null;
}
}
}

我从 here 得到代码.建议here .

关于java - 你如何为 React Native 实现 PermissionAwareActivity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44960363/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com