2016-11-15 12 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解析器請求從數據庫中獲取隨機手機號碼。在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是LoggedIn的Textview中的號碼。此json響應響應= json.getString(MOBILE);將從數據庫中獲取任何隨機數。所以請告訴我,我在做錯了,我猜我的php api由另一個存儲數字給隨機數的人保證,從那邊一切都是絕對正確的。

回答

0

試試這可能是因爲您的callNo超出的callbuttonclicked範圍 假設,如果你有在數textview然後你在callbuttonclicked函數裏面這樣做: callNo = userNo.getText()。toString();

userNo =(TextView)findViewById(R.id.number); - >在onCreate方法中執行此操作

希望能夠解決您的問題。

+0

這真讓我很煩惱。這真的很愚蠢:/ – SameerKhan1406

0

在我看來,你有空OT空值在你的數據庫,我們不容許emty強如用戶ID發送給