定时器结束后无法自动拨打电话号码

问题描述 投票:-1回答:1

我一直在摆弄一个紧急情况的联系方式,现在我已经接近完成了。计时器用完后,应用程序应拨打用户之前保存的号码。

我已经非常接近让它自动拨号,但是我似乎只能把它拿到号码并把它放在拨号器中而不拨号码。

我真的希望这是自动的,如何让号码自动调用?

(timer finishes)
String myCallNumber ="tel:" + myPref.getString("phoneINT", "");
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(myCallNumber)));

没有什么说我需要任何额外的权限。实际上,我从一个网页教程中提到了这一点,该教程表示不需要任何权限。

我尝试了这个代码,来自链接副本。但是,它说Call_Action不是真的。

Intent intent = new Intent(Intent.CALL_ACTION);   
intent.setData(Uri.parse(myCallNumber));    
startActivity(intent);

这个问题不是Can I implement automatic call to someone in Android?的重复!

Intent.CALL_ACTION对我不起作用,Android工作室不会将其识别为命令。

Image

java android
1个回答
-1
投票

嗨,请检查您是否已获得许可。此外,它应该是“ACTION_CALL”,而不是“CALL_ACTION”

  1. 添加到AndroidManifest.xml: uses-permission android:name =“android.permission.CALL_PHONE”
  2. 检查前检查权限: int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE); if (permissionCheck != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.CALL_PHONE}, 999); } else { startActivity(new Intent(Intent.ACTION_CALL).setData(Uri.parse("tel: your_phone_number"))); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case 999: if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) { startActivity(new Intent(Intent.ACTION_CALL).setData(Uri.parse("tel:your_phone_number"))); } break; default: break; } }
© www.soinside.com 2019 - 2024. All rights reserved.