问题描述
我尝试过发送,但短信会自动发送而不被人知道.我想发送带有 To 字段的短信,从我的代码中预定义,并且可以获得内置的短信应用.
我的代码
holder.SMS.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.e("sssssss", "aaaaaaaa"); try { // View view = (View) v.getParent(); // TextView number = (TextView) view.findViewById(R.id.phone); // String selected_mobile_sms = number.getText().toString(); // Log.e("sssssss", "ssssssss" + selected_mobile_sms); // sendSMS(); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage("tel:121", null, "test message", null, null); // // // Intent sendIntent = new Intent(Intent.ACTION_VIEW); // sendIntent.putExtra("sms_body", ""); // // // sendIntent.setType("vnd.android-dir/mms-sms"); // activity.startActivity(sendIntent); } catch (Exception e) { e.printStackTrace(); } // TODO Auto-generated method stub } });
推荐答案
void sendSMS(String phoneNumber, String message) { String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); //---when the SMS has been sent--- registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS sent", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(), "Generic failure", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(), "No service", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(), "Radio off", Toast.LENGTH_SHORT).show(); break; } } }, new IntentFilter(SENT)); //---when the SMS has been delivered--- registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS delivered", Toast.LENGTH_SHORT).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(getBaseContext(), "SMS not delivered", Toast.LENGTH_SHORT).show(); break; } } }, new IntentFilter(DELIVERED)); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); }
其他推荐答案
private void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null); } Call this method like btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { sendSMS("5556", "Hello my friends!"); } });
将这些添加到您的清单中:
问题描述
I have tried sending but the SMS is automatically sent without getting known. I want to send SMS with field of To to be predefined from my code and can get the inbuilt SMS APP.
My Code
holder.SMS.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.e("sssssss", "aaaaaaaa"); try { // View view = (View) v.getParent(); // TextView number = (TextView) view.findViewById(R.id.phone); // String selected_mobile_sms = number.getText().toString(); // Log.e("sssssss", "ssssssss" + selected_mobile_sms); // sendSMS(); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage("tel:121", null, "test message", null, null); // // // Intent sendIntent = new Intent(Intent.ACTION_VIEW); // sendIntent.putExtra("sms_body", ""); // // // sendIntent.setType("vnd.android-dir/mms-sms"); // activity.startActivity(sendIntent); } catch (Exception e) { e.printStackTrace(); } // TODO Auto-generated method stub } });
推荐答案
You can use here this method to send your message in predefine phone number.
void sendSMS(String phoneNumber, String message) { String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); //---when the SMS has been sent--- registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS sent", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(), "Generic failure", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(), "No service", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(), "Radio off", Toast.LENGTH_SHORT).show(); break; } } }, new IntentFilter(SENT)); //---when the SMS has been delivered--- registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS delivered", Toast.LENGTH_SHORT).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(getBaseContext(), "SMS not delivered", Toast.LENGTH_SHORT).show(); break; } } }, new IntentFilter(DELIVERED)); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); }
其他推荐答案
private void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null); } Call this method like btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { sendSMS("5556", "Hello my friends!"); } });
Add these into your manifest:
相关问答
相关标签/搜索