AutoCall如何在指定时间拨打电话

时间:2016-01-11 14:53:34

标签: android android-intent call alarmmanager android-pendingintent

我正在尝试构建一个应用,让用户可以在指定的时间拨打所选的电话号码。

这是代码 -

   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

我不知道自己哪里做错了。一分钟后没有任何事情发生。

enter image description here

0 个答案:

没有答案