sendTextMessage在android手机 [英] sendTextMessage In android phone

查看:161
本文介绍了sendTextMessage在android手机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是简单的code发送短信。

  47:SmsManager的短信= SmsManager.getDefault();
48:sms.sendTextMessage(12345678901,NULL,你好!,NULL,NULL);
 

但我无法运行此code。 这code运行成功的Andr​​oid 2.1的版本,但我的手机,三星的Galaxy II,它发生NullPointException错误。告诉我这个问题。这里是AndroidManifest.xml中code和错误日志。

 <使用-权限的Andr​​oid:名称=android.permission.SEND_SMS/>

致命异常:主要
java.lang.RuntimeException的:无法启动的活动ComponentInfo {ric.FPSProject.FamilyPositionSearch / ric.FPSProject.SinglePos.SinglePosMap}:显示java.lang.NullPointerException
  在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2668)
  在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
  在android.app.ActivityThread.access $ 2300(ActivityThread.java:126)
  在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2038)
  在android.os.Handler.dispatchMessage(Handler.java:99)
  在android.os.Looper.loop(Looper.java:123)
  在android.app.ActivityThread.main(ActivityThread.java:4632)
  在java.lang.reflect.Method.invokeNative(本机方法)
  在java.lang.reflect.Method.invoke(Method.java:521)
  在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:858)
  在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  在dalvik.system.NativeStart.main(本机方法)
显示java.lang.NullPointerException:产生的原因
  在android.os.Parcel.readException(Parcel.java:1253)
  在android.os.Parcel.readException(Parcel.java:1235)
  在com.android.internal.telephony.ISms $存根$ Proxy.sendText(ISms.java:561)
  在android.telephony.SmsManager.sendTextMessage(SmsManager.java:109)
  **在ric.FPSProject.SinglePos.SinglePosMap.sendSMS(SinglePosMap.java:48)**
  在ric.FPSProject.SinglePos.SinglePosMap.initPersonData(SinglePosMap.java:273)
  在ric.FPSProject.SinglePos.SinglePosMap.onCreate(SinglePosMap.java:134)
  在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
  在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2632)
  ... 11更多
 

解决方案

给悬而未决的意图在第48行中给定的波纹管

 字符串发送=android.telephony.SmsManager.STATUS_ON_ICC_SENT;
PendingIntent piSent = PendingIntent.getBroadcast(smsActivity.this,0,新意图(发送),0);

sms.sendTextMessage(12345678901,NULL,你好!,piSent,NULL);
 

我相信它的工作原理:)

This is simple code send SMS.

47: SmsManager sms = SmsManager.getDefault();
48: sms.sendTextMessage("12345678901", null, "hello!", null, null);

But I can't run this code. This code run success in android version 2.1, but my phone, Samsung galaxy II, it occur NullPointException error. Tell me about that problem. Here is AndroidManifest.xml code and error log.

<uses-permission android:name="android.permission.SEND_SMS"/>

FATAL EXCEPTION: main
java.lang.RuntimeException:Unable to start activity ComponentInfo {ric.FPSProject.FamilyPositionSearch/ric.FPSProject.SinglePos.SinglePosMap}: java.lang.NullPointerException
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2668)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
  at android.app.ActivityThread.access$2300(ActivityThread.java:126)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:123)
  at android.app.ActivityThread.main(ActivityThread.java:4632)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:521)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
  at android.os.Parcel.readException(Parcel.java:1253)
  at android.os.Parcel.readException(Parcel.java:1235)
  at com.android.internal.telephony.ISms$Stub$Proxy.sendText(ISms.java:561)
  at android.telephony.SmsManager.sendTextMessage(SmsManager.java:109)
  **at ric.FPSProject.SinglePos.SinglePosMap.sendSMS(SinglePosMap.java:48)**
  at ric.FPSProject.SinglePos.SinglePosMap.initPersonData(SinglePosMap.java:273)
  at ric.FPSProject.SinglePos.SinglePosMap.onCreate(SinglePosMap.java:134)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2632)
  ... 11 more

解决方案

give the pending intent in your 48th line as given bellow

String sent = "android.telephony.SmsManager.STATUS_ON_ICC_SENT";
PendingIntent piSent = PendingIntent.getBroadcast(smsActivity.this, 0,new Intent(sent), 0);

sms.sendTextMessage("12345678901", null, "hello!", piSent, null);

am sure it works :)

这篇关于sendTextMessage在android手机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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