Adr*_*lli 8 java android react-native
关于 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);
}
...
Run Code Online (Sandbox Code Playgroud)
我不太确定应该如何实现这些方法。任何帮助表示赞赏。即使有人可以向我指出一些我找不到的文档或资源。
我在现有 Android 应用程序中添加 React Native 时遇到了这个问题。通过在 ReactActivity.java 中实现以下方法解决了这个问题
@Override
public void requestPermissions(
String[] permissions, int requestCode, PermissionListener listener) {
mDelegate.requestPermissions(permissions, requestCode, listener);
}
protected @Nullable String getMainComponentName() {
return null;
}
@Override
public void onRequestPermissionsResult(
int requestCode, String[] permissions, int[] grantResults) {
mDelegate.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
Run Code Online (Sandbox Code Playgroud)
导入关注者
import com.facebook.react.modules.core.PermissionAwareActivity;
import com.facebook.react.modules.core.PermissionListener;
import androidx.annotation.Nullable;
Run Code Online (Sandbox Code Playgroud)
从此改变
implements DefaultHardwareBackBtnHandler
Run Code Online (Sandbox Code Playgroud)
对此
implements DefaultHardwareBackBtnHandler, PermissionAwareActivity
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅ReactActivity.java官方仓库
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |