Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序不发送和接收短信_Android - Fatal编程技术网

Android 应用程序不发送和接收短信

Android 应用程序不发送和接收短信,android,Android,我已经编写了以下代码来接收短消息并将相同的短消息发送回发件人。 代码在Emulator中运行得很好,但当我在Mobile中运行代码时,它不会接收和发送短信 public class SmsReceiver extends BroadcastReceiver { public void onReceive(final Context context, Intent intent) { //---get the SMS message passed in---

我已经编写了以下代码来接收短消息并将相同的短消息发送回发件人。 代码在Emulator中运行得很好,但当我在Mobile中运行代码时,它不会接收和发送短信

public class SmsReceiver extends BroadcastReceiver
{
   public void onReceive(final Context context, Intent intent) 
   {
      //---get the SMS message passed in---
      Bundle bundle = intent.getExtras();        
      SmsMessage[] msgs = null;

      String messageRecieved ="";     
      String result="";
      if (bundle != null)
      {
         //---retrieve the SMS message received---
         Object[] pdus = (Object[]) bundle.get("pdus");
         msgs = new SmsMessage[pdus.length];            
         for (int i=0; i<msgs.length; i++)
         {
            msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
            messageRecieved += msgs[i].getMessageBody().toString();
         }

         //---display the new SMS message---
         Toast.makeText(context, "Sms Recieved: "+messageRecieved,
              Toast.LENGTH_SHORT).show();

         sms.sendTextMessage(sendersPhoneNumber, null, messageRecieved, null, null);
         Toast.makeText(context, "Sms sent back to Sender With Requested Contacts"
            ,Toast.LENGTH_LONG).show();
公共类SmsReceiver扩展了BroadcastReceiver
{
公共void onReceive(最终上下文、意图)
{
//---获取传入的SMS消息---
Bundle=intent.getExtras();
SmsMessage[]msgs=null;
字符串messagereceived=“”;
字符串结果=”;
if(bundle!=null)
{
//---检索收到的SMS消息---
Object[]pdus=(Object[])bundle.get(“pdus”);
msgs=新SMS消息[PDU.length];

对于(int i=0;i您的真实设备的问题可能是内存不足。您的手机中安装了一些大型应用程序,或者内存不足。 我们都知道,一条短信只有20或30 KB,但有时我们需要在手机中有超过20 MB的空间来接收短信


解决此问题的方法是将数据从手机存储器移动到SD卡。

请看这一点,它很有用[手机使用的是本机android messaging应用程序还是通过其他第三方应用程序发送消息?如果是第三方应用程序,则消息会绕过内容提供商。因此广播接收器无法工作。手机使用的是本机android messaging应用程序。但在任何情况下,当发送短信时,接收器都无法工作通过第三方应用程序或安卓本地短信应用程序发送。