2013-10-30 477 views
7

我想編寫一個小型Android應用程序,通過Viber 將消息發送給我的聯繫人列表中的人員。但我找不到 任何示例代碼來完成此任務。 如果你知道如何完成這項任務。如何通過Viber消息從Android應用程序發送消息

請教我。

Vonbk

+1

使用意圖和Viber的將收到您的申請 –

+0

你解決問題了嗎? viber如何在不要求選擇電話號碼的情況下將消息發送到「xxxx」號碼? –

回答

2

如果Viber的應用程序安裝在你的設備,你可以打電話的意圖,共享文本。

boolean found = false; 
Intent share = new Intent(android.content.Intent.ACTION_SEND); 
     share.setType("text/plain"); 

     // gets the list of intents that can be loaded. 
     List<ResolveInfo> resInfo = context.getPackageManager() 
       .queryIntentActivities(share, 0); 
     if (!resInfo.isEmpty()) { 
      for (ResolveInfo info : resInfo) { 
       if (info.activityInfo.packageName.toLowerCase(
         Locale.getDefault()).contains("com.viber.voip") 
         || info.activityInfo.name.toLowerCase(
           Locale.getDefault()).contains("com.viber.voip")) { 
        share.putExtra(Intent.EXTRA_TEXT, "Your text to share"); 
        share.setPackage(info.activityInfo.packageName); 
        found = true; 
        context.startActivity(Intent.createChooser(share, "Select")); 
        break; 
       } 
      } 
      if (!found) { 

       displayToast(context, "Install viber android application"); 
       Uri marketUri = Uri.parse("market://details?id=" 
         + "com.viber.voip"); 
       Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); 
       context.startActivity(marketIntent); 
      } 

     } 

我不確定它會起作用。但它值得一試。

您還可以詢問用戶選擇普通的意圖和分享分享:

Like this

  Intent sharingIntent = new Intent(Intent.ACTION_SEND);  
     sharingIntent.setType("text/html"); 
     sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<p>This is the text that will be shared.</p>")); 
     startActivity(Intent.createChooser(sharingIntent,"Share using")); 
+0

嗨Rethinavel Velu, 如何指定外撥電話號碼。 我加了: share.putExtra(Intent.EXTRA_PHONE_NUMBER,「xxxxxx」); 但它行不通。 – vonbk

+0

你指的是傳出號碼是什麼意思..?你想分享電話號碼到Viber或什麼? –

+0

我的意思是我要發送短信「」您的文本分享「給我的朋友,他的電話號碼是」xxxxxxx「 – vonbk