0

在收到此呼叫之前,我使用此代码向来电号码发送短信,但它不发送短信。在清单文件中,我添加了这些权限

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

public class check extends BroadcastReceiver {


Context context = null;
 private static final String TAG = "Phone call";
 private ITelephony telephonyService;


    @Override
     public void onReceive(Context context, Intent intent) {
      Log.v(TAG, "Receving....");

      TelephonyManager telephony = (TelephonyManager) 
      context.getSystemService(Context.TELEPHONY_SERVICE);  
      try {
       Class c = Class.forName(telephony.getClass().getName());
       Method m = c.getDeclaredMethod("getITelephony");
       m.setAccessible(true);
       Bundle b=intent.getExtras();
       num=b.getString(telephony.EXTRA_INCOMING_NUMBER);
       String g=num.substring(num.length()-11,num.length());

       SmsManager smsManager = SmsManager.getDefault();
             smsManager.sendTextMessage(num,null, "rrrrrrrrr", null,null);


      } catch (Exception e) {
       e.printStackTrace();
      }

     }

请任何人打电话帮助我

4

1 回答 1

0

让你的类扩展 PhoneStateListener 然后使用这个方法。

public void onCallStateChanged(int state, String phoneNumber) {
    SmsManager sms = SmsManager.getDefault();
    String message = "";
    if (state == TelephonyManager.CALL_STATE_RINGING) {
        sms.sendTextMessage(phoneNumber, null, message, null, null);
    }
}
于 2013-01-24T18:45:08.817 回答