2014-05-04 32 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