Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在QuickBlox中接受Android和iOS之间的呼叫_Java_Android_Ios_Objective C_Quickblox - Fatal编程技术网

Java 在QuickBlox中接受Android和iOS之间的呼叫

Java 在QuickBlox中接受Android和iOS之间的呼叫,java,android,ios,objective-c,quickblox,Java,Android,Ios,Objective C,Quickblox,我使用这个框架在Android和IOS之间创建了一个视频信使。 待办事项:在iOS中创建会话并调用用户,用户通过Android设备进入。 但在通话过程中,在对android进行通话之前,android应用程序崩溃 也许有人面对这样的问题?或者我做错了什么?我不知道如何处理来电。。。( 我的Android设备代码 onCreate(...){ QBSettings.getInstance().fastConfigInit(APPLICATION_ID,AUTHORIZATION_

我使用这个框架在Android和IOS之间创建了一个视频信使。 待办事项:在iOS中创建会话并调用用户,用户通过Android设备进入。 但在通话过程中,在对android进行通话之前,android应用程序崩溃

也许有人面对这样的问题?或者我做错了什么?我不知道如何处理来电。。。(

我的Android设备代码

    onCreate(...){

    QBSettings.getInstance().fastConfigInit(APPLICATION_ID,AUTHORIZATION_KEY,AUTHORIZATION_SECRET);
        }

        public void createSessionButton(View view){

                //Log.d("Tag","onSuccess");

                QBAuth.createSession(currentUser,new QBEntityCallbackImpl<QBSession>() {

                    @Override
                    public void onSuccess(QBSession session, Bundle params) {

                        currentUser.setId(session.getUserId());

                        Log.d("Tag","call set id success");

                        QBChatService chatService;

                        if (!QBChatService.isInitialized()) {

                            Log.d("Tag","QBChatService do not initialize");

                            QBChatService.init(getApplicationContext());

                        }

                        chatService = QBChatService.getInstance();

                        Log.d("Tag","QBChatService initialize");

                        // LOG IN CHAT SERVICE
                        chatService.login(currentUser, new QBEntityCallbackImpl<QBUser>() {

                            @Override
                            public void onSuccess() {

                                runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {

                                        processTextView.setText("LOG IN CHAT SERVICE onSuccess");
                                    }
                                });

                                //processTextView.setText("LOG IN CHAT SERVICE onSuccess");

                                Log.d("Tag","LOG IN CHAT SERVICE onSuccess");

                            }

                            @Override
                            public void onError(List errors) {

                                Log.d("Tag","LOG IN CHAT SERVICE onError");

                            }
                        });

                    }

                    @Override
                    public void onError(List<String> errors) {

                        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                        builder.setTitle("Важное сообщение!")
                                .setMessage("onError")
                                        //.setIcon(R.drawable.ic_android_cat)
                                .setCancelable(false)
                                .setNegativeButton("ОК",
                                        new DialogInterface.OnClickListener() {
                                            public void onClick(DialogInterface dialog, int id) {
                                                dialog.cancel();
                                            }
                                        });
                        AlertDialog alert = builder.create();
                        alert.show();
                    }
                });
            }

        public void createSignalingManager(View view) {
                QBChatService.getInstance().getVideoChatWebRTCSignalingManager().addSignalingManagerListener(new QBVideoChatSignalingManagerListener() {

                    @Override
                    public void signalingCreated(QBSignaling qbSignaling, boolean b) {
                        if (!b) {

    QBRTCClient.getInstance().addSignaling((QBWebRTCSignaling) qbSignaling);

                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {

    processTextView.setText("addSignalingManagerListener");

                                }
                            });
                        }
                    }
                });

                // Add activity as callback to RTCClient
                QBRTCClient.getInstance().addSessionCallbacksListener(this);
                QBRTCClient.getInstance().addConnectionCallbacksListener(this);
                QBRTCClient.getInstance().addVideoTrackCallbacksListener(this);
                QBRTCClient.getInstance().prepareToProcessCalls(this);

            }

请检查说明如何使用的文档,并检查

请检查说明如何使用的文档,并检查

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


    [QBRTCClient.instance addDelegate:self];

    [[QBChat instance] addDelegate:self];


    [QBRTCConfig setDisconnectTimeInterval:10];

    self.callTestButton.hidden = YES;

}

#pragma mark - Action

- (IBAction)loginAction:(id)sender {


    QBUUser* currentUser = [[QBUUser alloc] init];

    currentUser.password = pass;

    currentUser.login = login;


    // connect to Chat
    [[QBChat instance] connectWithUser:currentUser completion:^(NSError * error) {

        NSLog(@"Error: %@", error);

    }];

    [QBRequest logInWithUserLogin:login password:pass successBlock:^(QBResponse *response, QBUUser *user) {

        NSLog(@"logInWithUserLogin:");

        [QBRequest usersWithSuccessBlock:^(QBResponse * response, QBGeneralResponsePage * page, NSArray * users) {

            NSLog(@"usersWithSuccessBlock:");

            self.callTestButton.hidden = NO;

        } errorBlock:^(QBResponse * response) {

        }];

    } errorBlock:^(QBResponse *response) {

        NSLog(@"error: %@", response.error);
    }];

}

- (IBAction)callAction:(UIButton *)sender {


    NSArray *opponentsIDs = [[NSArray alloc] initWithObjects:[NSNumber numberWithInteger:6919398], nil];

    NSLog(@"%ld", (long)[opponentsIDs[0] integerValue]);

    QBRTCSession* session = [QBRTCClient.instance createNewSessionWithOpponents:opponentsIDs
                                                             withConferenceType:QBRTCConferenceTypeAudio];
    session.localMediaStream.videoTrack.enabled = NO;

    if (session) {
        NSLog(@"new session");
    }

    NSDictionary *userInfo = @{@"startCall" : @"userInfo"};
    [session startCall:userInfo];


}