信息发送到特定号码的WhatsApp的Android? [英] Send message to specific number whatsapp android?
本文介绍了信息发送到特定号码的WhatsApp的Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么能在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的Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文