2014-05-04 34 views
0

自动侦听包含某些密码的SMS消息的应用程序。一旦接收到该消息,您可以拨打自动接收短信的号码。每当我发送消息拨号它什么都不做。即使面包没有显示。使用SMS接收器

public class Receiving extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 

    SmsMessage[] sms = null; 

    Bundle bundle = Intent.getExtras(); 

    String str = " SMS From : "; 
    if (bundle != null) { 

     Object[] pdus = (Object[]) bundle.get("pdus"); 

     sms = new SmsMessage[pdus.length]; 

     for (int i = 0; i < sms.length; i++) { 

      sms[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 

      if (i == 0) { 
       str += sms[i].getOriginatingAddress(); 
       str += ":"; 
      } 
      str += sms[i].getMessageBody().toString(); 
if (sms[i].getMessageBody().equals("Dial")) { 
        Intent in = new Intent(Intent.ACTION_DIAL); 

        in.setData(Uri.parse("tel:"+ sms[i].getOriginatingAddress())); 

        in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        context.startActivity(in2);     } 

Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); 
    } 
    } 
} 
+1

你用什么意图过滤器? –

+0

AndroidManifest.xml <类别机器人:名称= ”android.intent.category.LAUNCHER“/> <接收机机器人:名称=” com.example.sms.Receiving “> <意图滤波器> <操作机器人:名称=” android.provider.Telephony.SMS_RECEIVED“/> '@JakubSzczygieł – Disguise

回答

0

您需要在您的清单指定权限:

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> 
+0

我已经已附加接收短信的权限以及发送短信和call_phone。我已经指定了Send_SMS权限,因为我正在MainActivity.java文件中发送短信。@ JakubSzczygie – Disguise

+0

感谢其实际完成...:D – Disguise

+0

我可以使用任何其他操作而不仅仅是调用吗?如果是的话,你能建议我采取一些行动吗?谢谢。 – Disguise