2017-01-13 3 views
0

Я пытаюсь отправить сообщение whatsapp на конкретный номер, не сохраняя этот контакт.Отправить сообщение Whatsapp на UnSaved Number

Вот мой код

try { 
    Uri uri = Uri.parse("smsto: " + smsNumber); 
    //Timber.e("smsNumber %s", uri.toString()); 
    Intent i = new Intent(Intent.ACTION_SENDTO, uri); 
    i.setPackage("com.whatsapp"); 
    startActivity(Intent.createChooser(i, "")); 

} catch (Exception e) { 
    Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT).show(); 
} 

и сообщение, которое я получаю от этого

This is what I get

+0

http://idownvotedbecau.se/imageofanexception/ – EJoshuaS

ответ

2

Попробуйте здесь. Это помогло мне

private void openWhatsApp() { 
    String smsNumber = "+26377*********"; 
    boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp"); 
    if (isWhatsappInstalled) { 

     Intent sendIntent = new Intent("android.intent.action.MAIN"); 
     sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation")); 
     sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators(smsNumber) + "@s.whatsapp.net");//phone number without "+" prefix 

     startActivity(sendIntent); 
    } else { 
     Uri uri = Uri.parse("market://details?id=com.whatsapp"); 
     Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); 
     Toast.makeText(this, "WhatsApp not Installed", 
       Toast.LENGTH_SHORT).show(); 
     startActivity(goToMarket); 
    } 
} 

private boolean whatsappInstalledOrNot(String uri) { 
    PackageManager pm = getPackageManager(); 
    boolean app_installed = false; 
    try { 
     pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); 
     app_installed = true; 
    } catch (PackageManager.NameNotFoundException e) { 
     app_installed = false; 
    } 
    return app_installed; 
} 
0

HII и может использовать этот код:

Intent sendIntent = new Intent("android.intent.action.MAIN"); 
    sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation")); 
    sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators(smsNumber) + "@s.whatsapp.net");//phone number without "+" prefix 

    startActivity(sendIntent); 

Это поможет вам