This commit is contained in:
2020-08-28 09:51:37 +08:00
parent 3ece010fc1
commit 6b82fd5419
69 changed files with 1255 additions and 1024 deletions

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 12d49a1a05449429383d2dd5bc950c04
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -6,7 +6,8 @@
#import <CoreTelephony/CTCall.h>
@interface CallListner : NSObject
@property (assign, nonatomic)NSString *unityListner;
@property (assign, nonatomic)NSString *unityListner;
@property (assign, nonatomic)BOOL *isComingCall;
@property(nonatomic, strong) CTCallCenter* callCenter;
@end
#endif

View File

@@ -27,34 +27,33 @@ - (id)init:(NSString *)listner
}
- (void)initCallCenter {
bool *isComingCall = false;
_callCenter = [[CTCallCenter alloc] init];
_callCenter.callEventHandler = ^(CTCall* call) {
dispatch_async(dispatch_get_main_queue(), ^{
if ([call.callState isEqualToString:CTCallStateDisconnected]) {
// NSLog("CTCallCenter:Call has been disconnected");
NSLog(@"电话挂断");
if(isComingCall) {
[self sendUnityMessage:@"onEndincomeCall", ""]
if(_isComingCall) {
[self sendUnityMessage:@"onEndincomeCall" with:@""];
} else {
[self sendUnityMessage:@"onEndOutGoingCall", ""]
[self sendUnityMessage:@"onEndOutGoingCall" with:@""];
}
} else if ([call.callState isEqualToString:CTCallStateConnected]) {
// NSLog("CTCallCenter:Callhasjustbeen connected");
NSLog(@"电话接通");
if(isComingCall) {
[self sendUnityMessage:@"onConectedComingCall", ""]
if(_isComingCall) {
[self sendUnityMessage:@"onConectedComingCall" with:@""];
} else {
[self sendUnityMessage:@"onConectedOutGoingCall", ""]
[self sendUnityMessage:@"onConectedOutGoingCall" with:@""];
}
} else if ([call.callState isEqualToString:CTCallStateIncoming]) {
// NSLog("CTCallCenter:Call is incoming");
NSLog(@"电话被叫");
isComingCall = true;
_isComingCall = true;
} else if ([call.callState isEqualToString:CTCallStateDialing]) {
// NSLog("CTCallCenter:Call is Dialing");
NSLog(@"电话主动拨打电话");
isComingCall = false;
_isComingCall = false;
} else {
// NSLog("CTCallCenter:Nothing is done");
NSLog(@"电话其他状态");
@@ -76,12 +75,12 @@ -(void) sendUnityMessage:(const NSString*)method with:(NSString*)msg
#if __cplusplus
extern "C" {
#endif
void _init(const char* goName);
void _initCallListner(const char* goName);
#if __cplusplus
}
#endif
void _init(const char* goName) {
void _initCallListner(const char* goName) {
[[CallListner instance] init:[NSString stringWithUTF8String:goName]];
}