@ toobsco42: Não, você está fazendo exatamente o contrário. Você está enviando SMS por conta própria e esta pergunta é solicitada via aplicativo de SMS padrão .
Este artigo explica fácil SMS / MMS no Android, prevê simplesmente exemplo de código para o envio de SMS e receber SMS: codeproject.com/Articles/1044639/...
obrigado pelo seu código. e quero adicionar, pois preciso colocar meu texto predefinido. Eu recebi esta solução Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse ("sms:" + phoneNumber)); intent.putExtra ("sms_body", mensagem); startActivity (intenção);
djk
1
como definir "phoneNumber" da lista de contatos?
Saeed M.
@djk obrigado eu quero ler todos os contatos e quero página própria para o envio de sms com auto complete, mas eu não sou capaz de ler contatos algum bom tutorial?
Guru
Eu usaria o widget de composição de sms padrão para fazer isso. basta deixar o número de telefone vazio (que é opcional)
shem
1
Oi. Eu quero enviar sms em massa. como 10.000 sms enviados com um único clique. É possível ? ouvi android enviar 30 sms a cada 30 minutos. plz me ajudar
#
151
Isso funcionou para mim.
publicvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);
setContentView(R.layout.main);Button btnSendSMS =(Button) findViewById(R.id.btnSendSMS);
btnSendSMS.setOnClickListener(newView.OnClickListener(){publicvoid 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 deviceprivatevoid sendSMS(String phoneNumber,String message){SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message,null,null);}
Você pode adicionar esta linha no AndroidManifest.xml
A pergunta pede para mostrar o SMS na visualização de composição padrão. É exatamente o oposto: enviar SMS pelas costas do usuário, não?
precisa
Falha ao enviar mensagem se houver apóstrofo.
berserk
39
Experimente o código abaixo e ligue sendSMS("99999999999", "message");para enviar sms no número desejado.
//---sends an SMS message to another device---@SuppressWarnings("deprecation")privatevoid sendSMS(String phoneNumber,String message){Log.v("phoneNumber",phoneNumber);Log.v("MEssage",message);PendingIntent pi =PendingIntent.getActivity(this,0,newIntent(this,**DummyClasshere.class**),0);SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message, pi,null);}
Por favor, coloque a seguinte permissão no AndroidManifest.xmlarquivo.
Este código é usado para enviar mensagem em segundo plano (não mostrando o compositor de mensagens) . Também pode funcionar dentro do receptor de transmissão . Se você deseja enviar uma mensagem do receptor de transmissão.
+1. Trabalhou para a minha exigência. Mas estou sentindo falta de uma coisa. Esta mensagem não aparece nos meus itens enviados. Por que?
Tahir Akram
Nós não usamos o processo padrão de Inten para envio de sms, estamos apenas usando o Gerenciador de sms. A intenção se reunirá para manter o log do SmsManager.
Dwivedi Ji
Sim. Isso é muito útil para mim. Mas a mensagem de confirmação dada após o envio de sms significa que poderia ser melhor.
Gunaseelan
3
Eu recomendaria apenas adicionar este bloco no try-catch.
Tanveer Shaikh
10
No Android, temos a classe SmsManager, que gerencia operações SMS, como envio de dados, texto e mensagens SMS pdu. Obtenha esse objeto chamando o método estático SmsManager.getDefault ().
Eu adiciono o meu método SMS, se puder ajudar alguém. Cuidado com smsManager.sendTextMessage. Se o texto for muito longo, a mensagem não desaparecerá. Você deve respeitar o comprimento máximo, dependendo da codificação. Mais informações aqui O SMS Manager envia uma mensagem mutlipart quando há menos de 160 caracteres
Parte do que foi explicado acima é apenas para colocar um SMS em um estado 'pronto para iniciar'. como Senthil Mg disse que você pode usar o sms manager para enviar o sms diretamente, mas SMSManagerfoi movido paraandroid.telephony.SmsManager
Sei que não há muito mais informações, mas isso pode ajudar alguém algum dia.
Isso permite enviar mensagens de texto através do aplicativo existente. phoneNumber - é String. Se você não deseja especificar o número de telefone, use a string vazia "".
Atualização: se você usar o Intent para enviar sms, não precisará da permissão android.permission.SEND_SMS.
Nafis Ahmad
0
Você pode omitir o número de telefone para permitir que o usuário escolha apenas os contatos, mas inserindo o texto sms no corpo. O código é para o Xamarin Android:
var uri =Uri.Parse("smsto:");//append your number here for explicit nbvar intent =newIntent(Intent.ActionSendto, uri);
intent.PutExtra("sms_body", text);Context.StartActivity(intent);
Onde
O contexto é Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
Respostas:
Você pode usar o seguinte código:
Certifique-se de definir
phoneNumber
o número de telefone para o qual deseja enviar a mensagemVocê pode adicionar uma mensagem ao SMS com (dos comentários):
fonte
Isso funcionou para mim.
Você pode adicionar esta linha no AndroidManifest.xml
Dê uma olhada nisso
Isso pode ser útil para você.
fonte
Experimente o código abaixo e ligue
sendSMS("99999999999", "message");
para enviar sms no número desejado.Por favor, coloque a seguinte permissão no
AndroidManifest.xml
arquivo.Espero que isso possa ajudar.
Atualização No comentário: DummyClasshere.class é uma atividade sem executar nenhum processo ou a classe na qual você precisa navegar.
fonte
new Intent()
e faz.Definitivamente, isso funcionará. Nesse caso, envie uma mensagem sem usar nenhuma intenção.
Este código é usado para enviar mensagem em segundo plano (não mostrando o compositor de mensagens) . Também pode funcionar dentro do receptor de transmissão . Se você deseja enviar uma mensagem do receptor de transmissão.
fonte
No Android, temos a classe SmsManager, que gerencia operações SMS, como envio de dados, texto e mensagens SMS pdu. Obtenha esse objeto chamando o método estático SmsManager.getDefault ().
SmsManager Javadoc
Verifique o link a seguir para obter o código de exemplo para o envio de SMS:
artigo sobre como enviar e receber mensagens SMS no Android
fonte
Espero que este código o ajude :)
fonte
Eu adiciono o meu método SMS, se puder ajudar alguém. Cuidado com smsManager.sendTextMessage. Se o texto for muito longo, a mensagem não desaparecerá. Você deve respeitar o comprimento máximo, dependendo da codificação. Mais informações aqui O SMS Manager envia uma mensagem mutlipart quando há menos de 160 caracteres
// PARA USAR EM TODO O LUGAR
//Manifesto
//JAVA
fonte
Inclua a seguinte permissão no arquivo AndroidManifest.xml
fonte
Parte do que foi explicado acima é apenas para colocar um SMS em um estado 'pronto para iniciar'. como Senthil Mg disse que você pode usar o sms manager para enviar o sms diretamente, mas
SMSManager
foi movido paraandroid.telephony.SmsManager
Sei que não há muito mais informações, mas isso pode ajudar alguém algum dia.
fonte
Espero que isso possa te ajudar ...
Nome do arquivo = MainActivity.java
adicione esta linha no AndroidManifest.xml
fonte
Isso permite enviar mensagens de texto através do aplicativo existente. phoneNumber - é String. Se você não deseja especificar o número de telefone, use a string vazia "".
fonte
Envie SMS do KitKat e acima: - ADICIONE esta permissão no seu AndroidManifest.xml
Você também deve implementar a permissão de tempo de execução para o Marshmallow e a versão acima.
AndroidManifest.xml
O código que será o dado abaixo: -
activity_conversation_list.xml
ConversationListActivity.java
Este é o código para o layout de sms e para o envio de SMS: -
activity_compose_sms.xml
fragment_compose_sms.xml
ComposeSMSActivity.java
É isso aí.
fonte
Você pode usar isso para enviar sms para qualquer número:
fonte
Você pode omitir o número de telefone para permitir que o usuário escolha apenas os contatos, mas inserindo o texto sms no corpo. O código é para o Xamarin Android:
Onde
O contexto é
Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
fonte