2016-11-15 1 views
1
FATAL EXCEPTION: main 
java.lang.IllegalArgumentException: toUserId must not be null or empty 
at com.sinch.android.rtc.internal.client.calling.DefaultCallClient.call(DefaultCallClient.java:153) 
at com.sinch.android.rtc.internal.client.calling.DefaultCallClient.callUser(DefaultCallClient.java:102) 
at com.sinch.android.rtc.internal.client.calling.DefaultCallClient.callUser(DefaultCallClient.java:97) 
at packagename.SinchService$SinchServiceInterface.callUser(SinchService.java:91) 
at packagename.PlaceCallActivity.callButtonClicked(PlaceCallActivity.java:142) 
at packagename.PlaceCallActivity.access$000(PlaceCallActivity.java:26) 
at packagename.PlaceCallActivity$1.onClick(PlaceCallActivity.java:173) 
at android.view.View.performClick(View.java:4802) 
at android.view.View$PerformClick.run(View.java:20101) 
at android.os.Handler.handleCallback(Handler.java:810) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:189) 
at android.app.ActivityThread.main(ActivityThread.java:5532) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 

В чем могут быть возможные проблемы, пожалуйста, подробно расскажите. Я получаю случайный номер мобильного телефона из базы данных, используя запрос json parser.Получение нулевого или пустого идентификатора пользователя в Sinch

private void callButtonClicked() { 

     try { 

      List<NameValuePair> params = new ArrayList<NameValuePair>(); 
      params.add(new BasicNameValuePair("status",status)); 
      params.add(new BasicNameValuePair("mobile", callNo)); 
      JSONObject json = jsonParser.makeHttpRequest(Config.URL_Random, "POST", 
        params); 
      int success = json.getInt(TAG_SUCCESS); 
      if (success == 1) { 
       response=json.getString(MOBILE); 
      } 

     }catch (JSONException e){ 
      e.printStackTrace(); 
     } 
     String userNo = response; 
      Log.d("Response is",userNo); 
     try { 
      Call call = getSinchServiceInterface().callUser(userNo); 
      if (call == null) { 
       // Service failed for some reason, show a Toast and abort 
       Toast.makeText(this, "Service is not started. Try stopping the service and starting it again before " 
         + "placing a call.", Toast.LENGTH_LONG).show(); 
       return; 
      } 
      String callId = call.getCallId(); 
      Intent callScreen = new Intent(this, CallScreenActivity.class); 
      callScreen.putExtra(SinchService.CALL_ID, callId); 
      startActivity(callScreen); 
     } catch (MissingPermissionException e) { 
      ActivityCompat.requestPermissions(this, new String[]{e.getRequiredPermission()}, 0); 
     } 

    } 

Я храню пользователь мобильного телефона на экране входа в систему и callno это число в TextView из LoggedIn Нет Ok. Этот ответ json response = json.getString (MOBILE); получит произвольное число из базы данных. Так скажите мне, пожалуйста, где я делаю это неправильно, и также я думаю, что мой php api, сделанный другим парнем, который хранит номер, дающий случайное число, заверил меня, что от него все в порядке.

ответ

0

Попробуйте это, может быть, потому, что ваш callNo находится вне сферы callbuttonclicked Предположит, если у вас есть номер в textview, то вы делаете это внутри функции callbuttonclicked: callNo = userNo.getText(). toString();

userNo = (TextView) findViewById (R.id.number); -> сделать это в onCreate метод

Надеюсь, что решит вашу проблему.

+0

Это действительно меня раздражало. Это было действительно глупо: / – SameerKhan1406

0

мне кажется, у вас есть пустой от простого значения нуля в вас базе данных, мы не позволяем Emty сильными, как идентификатор пользователь, чтобы отправить

Смежные вопросы