我正在尝试构建一个应用,让用户可以在指定的时间拨打所选的电话号码。
这是代码 -
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_final);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
tvPhoneNumber = (TextView) findViewById(R.id.tvPhoneNumber);
tvTime = (TextView) findViewById(R.id.tvTime);
buttonExitApp = (Button) findViewById(R.id.buttonExitApp);
buttonExitApp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(Intent.ACTION_CALL);
it.setData(Uri.parse("tel:" + tvPhoneNumber.getText().toString()));
Calendar cal = Calendar.getInstance().getInstance();
cal.add(Calendar.MINUTE, 1);
PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(), 1612, it, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
// startActivity(it);
// finish();
}
});
SharedPreferences sp = getSharedPreferences("MyPref", Context.MODE_PRIVATE);
String phoneNumber = sp.getString("PhoneNumber", "No Date Received");
String time = sp.getString("TIME", "No Date Received");
tvPhoneNumber.setText(phoneNumber);
tvTime.setText(time);
}
此处tvPhoneNumber
表示电话号码,tvTime
表示指定的时间。
只是为了演示,我尝试使用日历并添加1分钟,然后尝试设置闹钟。但它不起作用。
我还想将tvTime
转换为millisecs
。
我不知道自己哪里做错了。一分钟后没有任何事情发生。