Je suis assez nouveau pour le développement d'applications Android et j'essaie de faire l'application de sorte que vous tapez dans le champ de texte le numéro de téléphone des destinataires dans un texte champ et le message dans un autre, puis appuyez sur un bouton pour qu'il envoie Sans aller à l'application de messagerie par défaut. J'ai fait quelques recherches, mais pas beaucoup de leurs solutions ont fonctionné. Si vous trouvez une solution, pourriez-vous ajouter une brève raison pour expliquer pourquoi cela fonctionne? Aussi je ne suis pas trop sûr si j'ajouté correctement correctement les permissions Send_SMS et Receive_SMS:Envoyer un message texte à sans rediriger vers l'application de messagerie par défaut (Android Studio)
MainActivity.java
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText no,msg;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
no = (EditText)findViewById(R.id.phone);
msg = (EditText)findViewById(R.id.message);
button = (Button)findViewById(R.id.buttonsms);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String noString = no.getText().toString();
String msgMsg = msg.getText().toString();
sendSms(noString, msgMsg);
}
});
}
private void sendSms(String phoneNumber, String message) {
PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, pi, null);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.skiddswarmik.messageproto">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
S'il vous plaît expliquer exactement quels sont vos problèmes avec votre code existant. – CommonsWare
Le problème est qu'il envoie à l'application Messages plutôt que de l'envoyer directement à partir de l'application elle-même – Skiddswarmik
Je ne vois pas comment cela est possible dans ce code. 'sendTextMessage()' devrait envoyer le message texte directement. Si vous ne l'avez pas déjà fait, essayez de le tester sur l'émulateur Android. – CommonsWare