打开 phone 拨号器,即使应用程序在特定时间关闭
open phone dialer even if app is closed on specific time
我想在特定时间从我的应用程序打开 android phone 拨号器,即使我的应用程序已关闭。
我为此尝试了 AlarmManager -
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, CallSchaduleBroadcast.class);
intent.putExtra("PHONE_NUMBER", edtPhone.getText().toString());
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC, timeInMillis, pendingIntent);
这是我在 CallSchaduleBroadcast 中的 onReceive 方法 class-
String number = intent.getStringExtra("PHONE_NUMBER");
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:" + number));
context.startActivity(callIntent);
但这给了我以下错误-
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我正在使用-
构建我的应用程序
minSdkVersion 21
targetSdkVersion 29
这是完成工作的正确方法吗?还是我需要尝试其他方法,例如 Job Scheduler 或 Work Manager。
请帮助我,提前致谢
我的错,我得到了解决方案
String number = intent.getStringExtra("PHONE_NUMBER");
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setData(Uri.parse("tel:" + number));
context.startActivity(callIntent);
我只需要在 callIntent 中将 setFlags 设置为 FLAG_ACTIVITY_NEW_TASK。
但我仍然想知道是否有使用 Job Scheduler 或 Work Manager 的更好的解决方案。谢谢
我想在特定时间从我的应用程序打开 android phone 拨号器,即使我的应用程序已关闭。
我为此尝试了 AlarmManager -
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, CallSchaduleBroadcast.class);
intent.putExtra("PHONE_NUMBER", edtPhone.getText().toString());
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC, timeInMillis, pendingIntent);
这是我在 CallSchaduleBroadcast 中的 onReceive 方法 class-
String number = intent.getStringExtra("PHONE_NUMBER");
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:" + number));
context.startActivity(callIntent);
但这给了我以下错误-
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我正在使用-
构建我的应用程序 minSdkVersion 21
targetSdkVersion 29
这是完成工作的正确方法吗?还是我需要尝试其他方法,例如 Job Scheduler 或 Work Manager。 请帮助我,提前致谢
我的错,我得到了解决方案
String number = intent.getStringExtra("PHONE_NUMBER");
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setData(Uri.parse("tel:" + number));
context.startActivity(callIntent);
我只需要在 callIntent 中将 setFlags 设置为 FLAG_ACTIVITY_NEW_TASK。
但我仍然想知道是否有使用 Job Scheduler 或 Work Manager 的更好的解决方案。谢谢