このアプリでは、値のセットを挿入していますEditText
a)3
b)5554
c)iOS
[アラームの送信]をクリックすると、1分ごとにSMSが送信されます。今、私はアラームをキャンセルしました、そして再び私は次のように新しい値を挿入してこのアプリを始めています:
a)3
b)12345
c)Android
再度アラームを開始しますが、今回は新しい値を取得していません。代わりに、テキスト「iOS」を含む「5554」にSMSを送信しています。新しい値を更新する方法を知りたいです。私は2つのクラスを持っています。1)MainActivity 2)レシーバー
コード:
public class MyyActivity extends Activity {
EditText et, et1, et2;
Button b, b1;
AlarmManager alarmManager;
String no,text,ala;
PendingIntent pi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) findViewById(R.id.editTextEnter);
et1 = (EditText) findViewById(R.id.editTextNUMBER);
et2 = (EditText) findViewById(R.id.editTextTEXT);
b = (Button) findViewById(R.id.buttonSendAlarm);
b1 = (Button) findViewById(R.id.Cancel);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
no = et1.getText().toString();
text = et2.getText().toString();
ala = et.getText().toString();
int foo = Integer.parseInt(ala);
Intent myIntent = new Intent(MyyActivity.this, MyRecvr.class);
Bundle bundle = new Bundle();
bundle.putCharSequence("no", no);
bundle.putCharSequence("text", text);
myIntent.putExtras(bundle);
pi = PendingIntent.getBroadcast(getApplicationContext(), 0,
myIntent, 0);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, foo);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*1,pi);
Toast.makeText(
getApplicationContext(),
"Start Alarm with \n" + "smsNumber = " + no + "\n"
+ "smsText = " + text, Toast.LENGTH_SHORT)
.show();
et.setText("");
et1.setText("");
et2.setText("");
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(getApplicationContext(), MyRecvr.class);
PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(),
0, intent, 0);
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(sender);
Toast.makeText(MyyActivity.this, "Cancel!", Toast.LENGTH_LONG)
.show();
finish();
}
});
}
そしてReceiverクラス:
public class MyRecvr extends BroadcastReceiver {
@SuppressWarnings("deprecation")
SmsManager sms;
@SuppressWarnings("deprecation")
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
String smsNumbr= (String) bundle.getCharSequence("no");
String smsText = (String) bundle.getCharSequence("text");
Toast.makeText(context, "MyAlarmService.onStart()", Toast.LENGTH_LONG)
.show();
Toast.makeText(
context,
"MyAlarmService.onStart() with \n" + "smsNumberToSend = "
+ smsNumbr + "\n" + "smsTextToSend = "
+ smsText, Toast.LENGTH_LONG).show();
sms = SmsManager.getDefault();
sms.sendTextMessage(smsNumbr, null, smsText, null, null);
}