texto studio para online mensajes gratis enviar descargar celular aplicaciĆ³n aplicacion android sms

android - studio - mensajes web



Enviar SMS en android (14)

Agrego mi método de SMS si puede ayudar a alguien. Tenga cuidado con smsManager.sendTextMessage, si el texto es demasiado largo, el mensaje no desaparece. Debe respetar la longitud máxima según la codificación. Más información aquí SMS Manager envía mensaje mutlipart cuando hay menos de 160 caracteres

// TO USE EveryWhere

SMSUtils.sendSMS(context, phoneNumber, message);

//Manifiesto

<!-- SMS --> <uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <receiver android:name=".SMSUtils" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="SMS_SENT"/> <action android:name="SMS_DELIVERED"/> </intent-filter> </receiver>

//JAVA

public class SMSUtils extends BroadcastReceiver { public static final String SENT_SMS_ACTION_NAME = "SMS_SENT"; public static final String DELIVERED_SMS_ACTION_NAME = "SMS_DELIVERED"; @Override public void onReceive(Context context, Intent intent) { //Detect l''envoie de sms if (intent.getAction().equals(SENT_SMS_ACTION_NAME)) { switch (getResultCode()) { case Activity.RESULT_OK: // Sms sent Toast.makeText(context, context.getString(R.string.sms_send), Toast.LENGTH_LONG).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: // generic failure Toast.makeText(context, context.getString(R.string.sms_not_send), Toast.LENGTH_LONG).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: // No service Toast.makeText(context, context.getString(R.string.sms_not_send_no_service), Toast.LENGTH_LONG).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: // null pdu Toast.makeText(context, context.getString(R.string.sms_not_send), Toast.LENGTH_LONG).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: //Radio off Toast.makeText(context, context.getString(R.string.sms_not_send_no_radio), Toast.LENGTH_LONG).show(); break; } } //detect la reception d''un sms else if (intent.getAction().equals(DELIVERED_SMS_ACTION_NAME)) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(context, context.getString(R.string.sms_receive), Toast.LENGTH_LONG).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(context, context.getString(R.string.sms_not_receive), Toast.LENGTH_LONG).show(); break; } } } /** * Test if device can send SMS * @param context * @return */ public static boolean canSendSMS(Context context) { return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY); } public static void sendSMS(final Context context, String phoneNumber, String message) { if (!canSendSMS(context)) { Toast.makeText(context, context.getString(R.string.cannot_send_sms), Toast.LENGTH_LONG).show(); return; } PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT_SMS_ACTION_NAME), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent(DELIVERED_SMS_ACTION_NAME), 0); final SMSUtils smsUtils = new SMSUtils(); //register for sending and delivery context.registerReceiver(smsUtils, new IntentFilter(SMSUtils.SENT_SMS_ACTION_NAME)); context.registerReceiver(smsUtils, new IntentFilter(DELIVERED_SMS_ACTION_NAME)); SmsManager sms = SmsManager.getDefault(); ArrayList<String> parts = sms.divideMessage(message); ArrayList<PendingIntent> sendList = new ArrayList<>(); sendList.add(sentPI); ArrayList<PendingIntent> deliverList = new ArrayList<>(); deliverList.add(deliveredPI); sms.sendMultipartTextMessage(phoneNumber, null, parts, sendList, deliverList); //we unsubscribed in 10 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { context.unregisterReceiver(smsUtils); } }, 10000); } }

Quiero enviar sms.

¿Cuál es la intención del envío de SMS ... o cualquier otro código? Quiero mostrar la vista redactar sms con mi texto predefinido que pasa en el campo de mensaje.

¿Hay alguna ayuda para eso?



Enviar SMS desde KitKat y arriba: - AGREGUE este permiso en su AndroidManifest.xml

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

Debería tener que implementar también el permiso de tiempo de ejecución para Marshmallow y la Versión anterior.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.defaultmessanginggit"> <uses-permission android:name="android.permission.SEND_SMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".ConversationListActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ComposeSMSActivity" android:label="@string/title_activity_compose_sms" > </activity> </application> </manifest>

El código que se dará a continuación: -

activity_conversation_list.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"> <Button android:id="@+id/btn_send_msg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Message" /> </LinearLayout>

ConversationListActivity.java

public class ConversationListActivity extends FragmentActivity { /** * Whether or not the activity is in two-pane mode, i.e. running on a tablet * device. */ private int PERMISSIONS_REQUEST_RECEIVE_SMS = 130; private Button btn_send_sms; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_conversation_list); btn_send_sms = (Button) findViewById(R.id.btn_send_msg); btn_send_sms.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int hasSendSMSPermission = 0; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { hasSendSMSPermission = checkSelfPermission(Manifest.permission.SEND_SMS); if (hasSendSMSPermission != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.SEND_SMS}, PERMISSIONS_REQUEST_RECEIVE_SMS); } else if (hasSendSMSPermission == PackageManager.PERMISSION_GRANTED) { Intent intent = new Intent(ConversationListActivity.this, ComposeSMSActivity.class); startActivity(intent); } }else{ Intent intent = new Intent(ConversationListActivity.this, ComposeSMSActivity.class); startActivity(intent); } } }); } }

Este es el código para el diseño de sms y para enviar SMS: -

activity_compose_sms.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="MergeRootFrame" /> </LinearLayout>

fragment_compose_sms.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp" android:paddingBottom="16dp"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentTop="true" android:layout_alignParentStart="true"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/compose_to" android:id="@+id/textView" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="phone" android:ems="10" android:id="@+id/composeEditTextTo" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/compose_message" android:id="@+id/textView2" android:layout_gravity="center_vertical" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textMultiLine" android:ems="10" android:id="@+id/composeEditTextMessage" android:layout_weight="1" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/compose_cancel" android:id="@+id/composeButtonCancel" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/compose_send" android:id="@+id/composeButtonSend" /> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="10dp" android:id="@+id/composeNotDefault" android:visibility="invisible"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/compose_not_default" android:id="@id/composeNotDefault" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/compose_set_default" android:id="@+id/composeButtonSetDefault" /> </LinearLayout> </LinearLayout> </RelativeLayout>

ComposeSMSActivity.java

public class ComposeSMSActivity extends Activity { Activity mActivity; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_compose_sms); mActivity = this; if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()) .commit(); } getActionBar().setDisplayHomeAsUpEnabled(true); } public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View rootView = inflater.inflate(R.layout.fragment_compose_sms, container, false); rootView.findViewById(R.id.composeButtonCancel).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NavUtils.navigateUpTo(getActivity(), new Intent(getActivity(), ConversationListActivity.class)); } }); rootView.findViewById(R.id.composeButtonSend).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String recipient = ((TextView) rootView.findViewById(R.id.composeEditTextTo)).getText().toString(); String message = ((TextView) rootView.findViewById(R.id.composeEditTextMessage)).getText().toString(); SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(recipient, "ME", message, null, null); } }); return rootView; } } }

Eso es.


Espero que este código te ayude :)

public class MainActivity extends Activity { private int mMessageSentParts; private int mMessageSentTotalParts; private int mMessageSentCount; String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String phoneNumber = "0000000000"; String message = "Hello World!"; sendSMS(phoneNumber,message); } }); } public void sendSMS(String phoneNumber,String message) { SmsManager smsManager = SmsManager.getDefault(); String SENT = "SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; SmsManager sms = SmsManager.getDefault(); ArrayList<String> parts = sms.divideMessage(message); int messageCount = parts.size(); Log.i("Message Count", "Message Count: " + messageCount); ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>(); ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>(); PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); for (int j = 0; j < messageCount; j++) { sentIntents.add(sentPI); deliveryIntents.add(deliveredPI); } // ---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.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); /* sms.sendMultipartTextMessage(phoneNumber, null, parts, sentIntents, deliveryIntents); */ } }


Espero que esto te pueda ayudar ...

Nombre de archivo = MainActivity.java

import android.os.Bundle; import android.app.Activity; import android.telephony.SmsManager; import android.view.Menu; import android.view.inputmethod.InputMethodManager; import android.widget.*; import android.view.View.OnClickListener; import android.view.*; public class MainActivity extends Activity implements OnClickListener{ Button click; EditText txt; TextView txtvw; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); click = (Button)findViewById(R.id.button); txt = (EditText)findViewById(R.id.editText); txtvw = (TextView)findViewById(R.id.textView1); click.setOnClickListener(this); } @Override public void onClick(View v){ txt.setText(""); v = this.getCurrentFocus(); try{ SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage("8017891398",null,"Sent from Android",null,null); } catch(Exception e){ txtvw.setText("Message not sent!"); } if(v != null){ InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(),0); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }

agregue esta línea en AndroidManifest.xml

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


Esto definitivamente funcionará. En esto, envía un mensaje sin usar ningún intento.

SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("Phone Number", null, "Message", null, null);

Este código se usa para enviar mensajes en segundo plano (no muestra el compositor de mensajes) , también puede funcionar dentro del receptor de difusión . Si desea enviar un mensaje desde el receptor de difusión.

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


Esto funcionó para mí.

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnSendSMS = (Button) findViewById(R.id.btnSendSMS); btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { sendSMS("5556", "Hi You got a message!"); /*here i can send message to emulator 5556. In Real device *you can change number*/ } }); } //Sends an SMS message to another device private void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null); }

Puede agregar esta línea en AndroidManifest.xml

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

Eche un vistazo a this

Esto puede ser útil para ti.


Esto permite enviar mensajes de texto a través de la aplicación existente. phoneNumber - es String. Si no desea especificar el número de teléfono, use la cadena vacía "".

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", phoneNumber, null)); sendIntent.putExtra("sms_body", "text message"); startActivity(sendIntent);


Lo único que funcionó para mí es:

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phone_number)); sendIntent.putExtra("sms_body", message); startActivity(sendIntent);


Parte de lo que se explicó anteriormente está destinado solo a colocar un SMS en un estado ''listo para lanzar''. como Senthil Mg dijo que puede usar el administrador de sms para enviar el sms directamente, pero SMSManager se ha movido a android.telephony.SmsManager

Sé que no hay mucha más información, pero podría ayudar a alguien algún día.


Pruebe el siguiente código y luego llame, sendSMS("99999999999", "message"); para enviar sms en el número deseado.

//---sends an SMS message to another device--- @SuppressWarnings("deprecation") private void sendSMS(String phoneNumber, String message) { Log.v("phoneNumber",phoneNumber); Log.v("MEssage",message); PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, **DummyClasshere.class**), 0); SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, pi, null); }

Coloque el siguiente permiso en el archivo AndroidManifest.xml .

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

Espero que esto pueda ayudar.

Actualización del comentario: DummyClasshere.class es una actividad sin hacer ningún proceso o la clase en la que necesitas navegar.

Puede usar Object.class en lugar de DummyClasshere.class.


Puede usar esto para enviar sms a cualquier número.
Use esto en XML

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:onClick="sendsms" android:id="@+id/button2" android:layout_centerVertical="true" android:layout_centerHorizontal="true" />

Use esto en la clase de actividad

public void sendsms(View view) { String phoneNumber = "+880xxxxxxxxxx"; String message = "Welcome to sms"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber)); intent.putExtra("sms_body", message); startActivity(intent); }

Necesita el permiso SEND_SMS.

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


Puedes usar el siguiente código:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber)));

Asegúrese de configurar phoneNumber en el número de teléfono al que desea enviar el mensaje

Puede agregar un mensaje al SMS con (a partir de comentarios):

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


String phoneNumber = "0123456789"; String message = "Hello World!"; SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNumber, null, message, null, null);

Incluye el siguiente permiso en tu archivo AndroidManifest.xml

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