秘密地将收到的SMS转发到其他数字



我是Android的新手。我正在尝试创建一个应用程序,该应用程序秘密地将SMS收到另一个电话号码,并从收件箱中删除已发送的SMS。目前,我编码它,但它无法正常工作。以下代码,我尝试了:

public class SMSListener extends BroadcastReceiver {
    // Get the object of SmsManager
    final SmsManager sms = SmsManager.getDefault();
String mobile,body;
    public void onReceive(Context context, Intent intent) {
        // Retrieves a map of extended data from the intent.
        final Bundle bundle = intent.getExtras();
        try {
            if (bundle != null) {
                final Object[] pdusObj = (Object[]) bundle.get("pdus");
                for (int i = 0; i < pdusObj.length; i++) {
                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                    String phoneNumber = currentMessage.getDisplayOriginatingAddress();
                    String senderNum = phoneNumber;
                    String message = currentMessage.getDisplayMessageBody();
                     mobile=senderNum.replaceAll("\s","");
                     body=message.replaceAll("\s","+");
                    Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + body);
                    // Show Alert
                    int duration = Toast.LENGTH_LONG;
                    Toast toast = Toast.makeText(context,
                            "senderNum: "+ mobile+ ", message: " + message, duration);
                    toast.show();
                } // end for loop
            } // bundle is null
        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception smsReceiver" +e);
        }
    }
}

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);

使用上述代码发送消息。

在清单中添加权限如下

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

或使用以下代码将意图发送到消息传递

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));     
intent.putExtra("sms_body", message); 
startActivity(intent);

您可以通过以下代码秘密地将SMS转发到另一个NO。

public void sendSMS(String phoneNo, String msg) {
    try {      
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNo, null, msg, null, null);    
    } catch (Exception ex) {
        ex.printStackTrace();
    } 
}

不要忘记在androidmanifest.xml中添加权限以发送消息

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

但是您无法秘密地删除电话中的短信,因为从Kitkat到Onwards,您的应用必须成为默认的SMS应用程序,然后您才能从电话数据库中删除文本。

希望它有帮助。

最新更新