我正在尝试使用反应本机做一些画中画模式。我写了一个反应模块
我需要生成与此类似的内容,但在反应本机模块内
public class MainActivity extends AppCompatActivity {
private PlayerView playerView;
private Player player;
private boolean playerShouldPause = true;
...
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
// Hiding the ActionBar
if (isInPictureInPictureMode) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show();
}
playerView.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
}
...
}
Run Code Online (Sandbox Code Playgroud)
有一些方法可以以相同的方式做到这一点,但在 ReactContextBaseJavaModule 内部
public class ReactNativeBitmovinPlayerModule extends ReactContextBaseJavaModule {
...
@Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode, Configuration newConfig) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
// Hiding the ActionBar
if (isInPictureInPictureMode) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show(); …Run Code Online (Sandbox Code Playgroud) android native react-native bitmovin-player react-native-modules
我正在实现我自己的模块,并且在快速将参数传递到函数中时遇到问题。该函数应该返回 Promise。它总是因这个错误而崩溃
Exception 'getPassesOf: is not a recognized Objective-C method.' was thrown while invoking getPassesOf on target RNAppleWallet with params ( DDDDtest, 5026, 5027 )
我的OC桥:
#import "React/RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(RNAppleWallet, NSObject)
RCT_EXTERN_METHOD(openWallet:(NSDictionary*)config callback:(RCTResponseSenderBlock))
...
RCT_EXTERN_METHOD(getPasses: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
RCT_EXTERN_METHOD(getPassesOf: (NSString *)test (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
//RCT_EXTERN_METHOD(getPassesOf:(NSString*)passType (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
//RCT_EXTERN_METHOD(getPassesOf:(NSString *)passType resolve:(RCTPromiseResolveBlock *)resolve reject:(RCTPromiseRejectBlock *)reject)
...
@end
Run Code Online (Sandbox Code Playgroud)
重要功能 getRemoteSecureElementPasses,getRemotePaymentPasses并且getPasses工作正常。但他们没有额外的参数和功能getPassesOf,普拉特测试崩溃
RCT_EXTERN_METHOD(getPassesOf: (NSString *)test (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
这是 swift 函数中的一个实现,getPsses工作正常,但getPassesOf该参数有问题
...
@objc
func getPasses(_ resolve: @escaping …Run Code Online (Sandbox Code Playgroud)