Использовали ли вы smsmanager следующим образом:
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage(destinationAddress, null, "Hello world", null, null, null);
В дополнение к вашему коду, я бы предложил вам переопределить метод onReceive () в WidgetProvider для обработки отправки SMS. Базовая реализация может выглядеть так:
Первый в onUpdate ():
Intent intent = new Intent(context, WidgetProvider.class);
intent.setAction(ACTION_SEND_SMS);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
А потом:
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (intent.getAction().equals(ACTION_SEND_SMS)) {
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage(destinationAddress, null, "Hello world", null, null, null);
}
}
А в Манифесте:
<receiver android:name="com.packagename.WidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="com.packagename.ACTION_SEND_SMS"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_info" />
</receiver>
Надеюсь, это поможет
изм:
Сначала определите список сообщений. Есть много способов - в этом примере вы можете сохранить их в строковом массиве:
String[] messages = new String[]{"Message for button 1", "Message for button 2", "Message for button 3"};
String number = "12344444454" // recipient's mobile number
Инициализировать SmsManager:
SmsManager sm = SmsManager.getDefault();
Теперь добавьте onClick слушатель к своим кнопкам:
Button button1 = (Button)findViewById(R.id.yourbutton1);
Button button2 = (Button)findViewById(R.id.yourbutton2);
Button button3 = (Button)findViewById(R.id.yourbutton3);
button1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Sending message 1
sm.sendTextMessage(number, null, messages[0], null, null, null);
}
});
button2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Sending message 2
sm.sendTextMessage(number, null, messages[1], null, null, null);
}
});
button3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//Sending message 3
sm.sendTextMessage(number, null, messages[2], null, null, null);
}
});