信息发送到特定号码的WhatsApp的Andr​​oid? [英] Send message to specific number whatsapp android?

查看:329
本文介绍了信息发送到特定号码的WhatsApp的Andr​​oid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能在WhatsApp的消息发送到特定号码。

我搜索,发现这个code

 开放的URI = Uri.parse(smsto:+号);
    意图I =新意图(Intent.ACTION_SENDTO,URI);
    i.putExtra(SMS_BODY,作为SDJ AJS);
    i.setPackage(com.whatsapp);
    startActivity(ⅰ);

只打开一个号码的聊天窗口,但显示在编辑没有消息
文字。

也试过这种

 光标C = getContentResolver()查询(ContactsContract.Data.CONTENT_URI,
            新的String [] {} ContactsContract.Contacts.Data._ID,ContactsContract.Data.DATA1 +=?,
            新的String [] {number@s.whatsapp.net},NULL);
    c.moveToFirst();
    意图I =新意图(Intent.ACTION_VIEW,Uri.parse(内容://com.android.contacts/data/+ c.getString(0)));    startActivity(ⅰ);
    c.close();

但是,强制关闭应用程序

  android.database.CursorIndexOutOfBoundsException:索引0要求,大小为0
        在android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
        在android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
        在android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
        在android.database.CursorWrapper.getString(CursorWrapper.java:114)
        在com.appprix.app.AppLauncher.whatsappShare(AppLauncher.java:113)
        在appprix.refer.ReferFragment.onClick(ReferFragment.java:74)
        在android.view.View.performClick(View.java:4575)
        在android.view.View $ PerformClick.run(View.java:18578)
        在android.os.Handler.handleCallback(Handler.java:733)
        在android.os.Handler.dispatchMessage(Handler.java:95)
        在android.os.Looper.loop(Looper.java:136)
        在android.app.ActivityThread.main(ActivityThread.java:5127)
        在java.lang.reflect.Method.invokeNative(本机方法)
        在java.lang.reflect.Method.invoke(Method.java:515)
        在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:825)
        在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
        在dalvik.system.NativeStart.main(本机方法)


解决方案

做这样

 公共无效onClickWhatsApp(查看视图){    软件包管理系统下午= getPackageManager();
    尝试{        意图waIntent =新意图(Intent.ACTION_SEND);
        waIntent.setType(text / plain的);
        字符串文本=您的文本这里;        PackageInfo信息= pm.getPackageInfo(com.whatsapp,PackageManager.GET_META_DATA);
        //检查包存在与否。如果没有,那么code
        //在catch块将会被调用
        waIntent.setPackage(com.whatsapp);            waIntent.putExtra(Intent.EXTRA_TEXT,文字);
            startActivity(Intent.createChooser(waIntent,分享));   }赶上(ē的NameNotFoundException){
        Toast.makeText(这一点,WhatsApp的未安装,Toast.LENGTH_SHORT)
                。显示();
   }}

How can I send message to specific number in whatsapp.

I searched and found this code

 Uri uri = Uri.parse("smsto:" + number);
    Intent i = new Intent(Intent.ACTION_SENDTO, uri);
    i.putExtra("sms_body", "as sdj ajs");
    i.setPackage("com.whatsapp");
    startActivity(i);

It only opens that number's chat window but no message is displayed in the edit text.

Also tried this

 Cursor c = getContentResolver().query(ContactsContract.Data.CONTENT_URI,
            new String[] { ContactsContract.Contacts.Data._ID }, ContactsContract.Data.DATA1 + "=?",
            new String[] { "number@s.whatsapp.net" }, null);
    c.moveToFirst();
    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/" + c.getString(0)));

    startActivity(i);
    c.close();

But it force closes the app

android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
        at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
        at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
        at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
        at android.database.CursorWrapper.getString(CursorWrapper.java:114)
        at com.appprix.app.AppLauncher.whatsappShare(AppLauncher.java:113)
        at appprix.refer.ReferFragment.onClick(ReferFragment.java:74)
        at android.view.View.performClick(View.java:4575)
        at android.view.View$PerformClick.run(View.java:18578)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5127)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
        at dalvik.system.NativeStart.main(Native Method)

解决方案

do this way

public void onClickWhatsApp(View view) {

    PackageManager pm=getPackageManager();
    try {

        Intent waIntent = new Intent(Intent.ACTION_SEND);
        waIntent.setType("text/plain");
        String text = "YOUR TEXT HERE";

        PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA);
        //Check if package exists or not. If not then code 
        //in catch block will be called
        waIntent.setPackage("com.whatsapp");

            waIntent.putExtra(Intent.EXTRA_TEXT, text);
            startActivity(Intent.createChooser(waIntent, "Share with"));

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

}

这篇关于信息发送到特定号码的WhatsApp的Andr​​oid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆