ios
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12d49a1a05449429383d2dd5bc950c04
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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
|
||||
|
||||
@@ -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]];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user