2014-07-27 1 views
3

내 앱에서 메시지와 전화 번호를 가져 와서 그 번호로 메시지를 보내려고합니다.이 메시지를 Viber 애플리케이션을 통해 보내려고합니다. 다음 코드로 메시지를 보낼 수 있습니다 :메시지 본문과 전화 번호를 Viber에 보냅니다

 Intent intent = new Intent(Intent.ACTION_SEND);  
    intent.setType("text/plain"); 
    intent.putExtra(android.content.Intent.EXTRA_TEXT, "test test test"); 
    intent.setpackage("com.viber.voip"); 
    startActivity(intent); 

어떻게 전화 번호를 Viber로 보낼 수 있습니까?

+0

참조 링크 : http://stackoverflow.com/를 질문/21387355/시작 방법 viber-call-from-an-anroid-app-new-version – VVB

+0

@RIT 전화를 걸지 만 메시지를 보내려고합니다. – mahdi

+0

@ mahdi 당신은 어떤 해결책을 찾을 수 있습니까? –

답변

-1
Intent smsIntent = new Intent(Intent.ACTION_VIEW); 
     smsIntent.setData(Uri.parse("smsto:")); 
     smsIntent.setType("vnd.android-dir/mms-sms"); 
     smsIntent.putExtra("address", phoneNumber); 
     smsIntent.putExtra("sms_body", "body text"); 
     startActivity(smsIntent); 

phoneNumber - is to whoom you want to send the message. 
+0

이 충돌합니다 : ActivityNotFoundException –

+0

장치가 현재 지정된 의도를 시작하려는 의도가 없음을 의미합니다. 그래서 우리가 어떤 메시지를 사용자에게 보여줄 수 있도록 조건 (smsIntent.resolveActivity (mPackageManager)! = null)을 확인하십시오 – jettimadhuChowdary

+0

그러나 viber가 설치되었으므로 작동하지 않을 경우 왜 사용합니까? –

2

Intents to Viber를 사용하여 메시지를 보내는 방법에는 두 가지가 있습니다.

옵션 A - 불행히도 sms_body을 채우지 않습니다.

Intent smsIntent = new Intent(Intent.ACTION_SENDTO); 
smsIntent.addCategory(Intent.CATEGORY_DEFAULT); 
smsIntent.setPackage("com.viber.voip"); 
smsIntent.setData(Uri.parse("sms:+1001002003")); 
smsIntent.putExtra("address", "+1001002003"); 
smsIntent.putExtra("sms_body", "body text"); 
startActivity(smsIntent); 

옵션 B - 당신에게 사용자가 메시지 수신해야하는 옵션 줄 것이다 : 그러나 특정 연락처와 대화를 직접 열립니다

Intent i = new Intent(Intent.ACTION_SEND); 
i.setPackage("com.viber.voip"); 
i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_TEXT, "Message body"); 
+2

옵션 A가 필요하지만 나에게 적합하지 않습니다. 그냥 viber의 주요 활동을 엽니 다! –

관련 문제