个人中心
DownLoad

Android 自动拨打电话功能可以通过以下步骤实现:
1. 在 AndroidManifest.xml 文件中添加拨打电话的权限:
```
<uses-permission android:name="android.permission.CALL_PHONE" />
```
n2. 在代码中使用 Intent 启动拨打电话的界面:

```
String phoneNumber = "10086";
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
startActivity(intent);
```
注意:使用 ACTION_CALL 需要在 AndroidManifest.xml 文件中添加以下权限:
```
<uses-permission android:name="android.permission.CALL_PHONE" />
```
如果不想直接拨打电话,而是想跳转到拨号界面,可以使用 ACTION_DIAL:
```
String phoneNumber = "10086";
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));
startActivity(intent);
```
这样就可以实现 Android 自动拨打电话功能了。

完整代码:


public class MainActivity extends AppCompatActivity {private EditText etPhone;private TextView tvTime;private final static String simSlotName[] = {"extra_asus_dial_use_dualsim","com.android.phone.extra.slot",//基本上是这个"slot","simslot","sim_slot","subscription",//华为是这个"Subscription","phone","com.android.phone.DialingMode","simSlot","slot_id",//小米是这个"simId","simnum","phone_type","slotId","slotIdx"};private Handler mHandler = new Handler();private Runnable runnable;private int time = 5;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etPhone = findViewById(R.id.et_phone);tvTime = findViewById(R.id.tv_time);TextView tvCall1 = findViewById(R.id.tv_call1);TextView tvCall2 = findViewById(R.id.tv_call2);TextView tvHangUp = findViewById(R.id.tv_hang_up);if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {//未授权ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 1);} else {//已授权}TelephonyManager tpm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);tpm.listen(new MyPhontStateListener(), PhoneStateListener.LISTEN_CALL_STATE);runnable = new Runnable() {@Overridepublic void run() {time--;if (time == 0) {time = 5;String phone = etPhone.getText().toString();try {/*** Intent.ACTION_CALL 直接拨打电话* Intent.ACTION_DIAL 跳转到拨号盘*/Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);for (int i = 0; i < simSlotName.length; i++) {intent.putExtra(simSlotName[i], 0);}startActivity(intent);Log.e("错误信息:", "跳转");} catch (Exception e) {Log.e("错误信息:", e.getMessage());}} else {tvTime.setText(time + "");mHandler.postDelayed(this, 1000);}}};tvCall1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {time = 5;tvTime.setText("5");mHandler.postDelayed(runnable, 500);}});tvCall2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String phone = etPhone.getText().toString();try {/*** Intent.ACTION_CALL 直接拨打电话* Intent.ACTION_DIAL 跳转到拨号盘*/Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);for (int i = 0; i < simSlotName.length; i++) {intent.putExtra(simSlotName[i], 1);}startActivity(intent);} catch (Exception e) {Log.e("错误信息:", e.getMessage());}}});tvHangUp.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {}});}@Overrideprotected void onRestart() {super.onRestart();time = 5;tvTime.setText("5");mHandler.postDelayed(runnable, 500);}@Overrideprotected void onDestroy() {mHandler.removeCallbacks(runnable);mHandler = null;super.onDestroy();}class MyPhontStateListener extends PhoneStateListener {@Overridepublic void onCallStateChanged(int state, String phoneNumber) {Log.e("电话状态:", "------------");switch (state) {case TelephonyManager.CALL_STATE_IDLE://空闲Log.e("电话状态:", "空闲");break;case TelephonyManager.CALL_STATE_RINGING://来电Log.e("电话状态:", "来电");break;case TelephonyManager.CALL_STATE_OFFHOOK://正在通话中Log.e("电话状态:", "正在通话中");break;}}}
}

个人中心

DownLoad

Android 自动、拨打电话、拨号相关推荐

  1. android 自动拨打电话和挂断电话(反射和intent方式)

    欢迎来到博主的技术分享博客 今天分享的技术主要内容是自动拨打电话和挂断电话.自动拨打电话分为两种,一种是通过反射ITelephony这个类直接调用call方法,一种是通过intent方法.而挂断电话则 ...

  2. Android入门篇(四):自动拨打电话、手动拨打电话

    Android入门篇(四):自动拨打电话.手动拨打电话 一.前言 最近在做的项目需要用到自动拨号的这一功能,17年写了一个,最近拿出来用发现不能使用了,后面查资料据说是因为Android 6(api2 ...

  3. Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)

    Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: <span style="font-size:18px;"> Inte ...

  4. Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...

    Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...

  5. android stuido拨打电话,Android Studio3.5开发电话拨号器

    Android开发之电话拨号器实例详解.本人用的是Android Studio 3.5版本 首先要理清思路.思路大概是: 1.画UI  user interface 画界面   layout-> ...

  6. Android学习3—电话拨号器

    本测试主要实现了一个Android的拨打电话的功能 一:界面预览 由图中可以看出,这个Activity需要3个控件:TextView.EditText.Button 其实实现一个功能要经过几个步骤: ...

  7. Android 10 拨打电话流程

    接续上一章节,理解Android 10 拨打电话流程 packages/apps/Dialer/java/com/android/dialer/dialpadview/DialpadFragment. ...

  8. python实现自动拨打电话_python 实现手机自动拨打电话的方法(通话压力测试)

    现在能用自动化实现的,尽量使用自动化程序去操作,代替人工去操作,更有效率. 今天说下用python结合adb命令去实现安卓手机端的通话压力测试. #操作前先在设置里打开power键可以结束通话按钮,否 ...

  9. python实现自动打电话-python 实现手机自动拨打电话的方法(通话压力测试)

    现在能用自动化实现的,尽量使用自动化程序去操作,代替人工去操作,更有效率. 今天说下用python结合adb命令去实现安卓手机端的通话压力测试. #操作前先在设置里打开power键可以结束通话按钮,否 ...

  10. python 实现打电话_python 实现手机自动拨打电话的方法(通话压力测试)

    现在能用自动化实现的,尽量使用自动化程序去操作,代替人工去操作,更有效率. 今天说下用python结合adb命令去实现安卓手机端的通话压力测试. #操作前先在设置里打开power键可以结束通话按钮,否 ...

最新文章

  1. Vim 命令、操作、快捷键全集
  2. 【oracle】sqlnet.ora 访问控制策略
  3. 022_Table表格
  4. 洗牌算法shuffle
  5. PHP 笔记——操作MySQL数据库
  6. elk6.2集群搭建,cerebro集群管理
  7. hp服务器330g6怎么安装系统,Hp DL380 g6 安装WIN2003的图文方法
  8. db2界面调用存储过程_第三章 操作系统用户界面
  9. java数组与C++数组的不同之处
  10. bigdecimal 平均数_MapReduce实例-必须用Combine--求平均数
  11. Linux下动态库使用小结
  12. C++ 内存基本构件new [] /delete []的意义、内存泄漏原因、VC下cookie的基本布局
  13. java嵌套循环语句_Java学习笔记(七) 循环语句
  14. 计算机应用怎么写,计算机应用专业描述怎么写
  15. NETBEAN 启动报错 CANNOT LOCATE JAVA INSTALLATION IN SPECIFIED JDKHOME的解决办法
  16. 勘测定界坐标交换格式文本文件转换成 shapefile 格式
  17. SpringBoot 项目(若依脚手架)2
  18. 【数据仓库】数据仓库的介绍
  19. QT 带 进度条 解压缩文件方法 - QuaZip
  20. Python获取前一天的日期,前一个月的第一天,前一个月的最后一天

热门文章

  1. Matlab学习-图像处理工具箱函数
  2. delete请求数据详解
  3. cisco b 系列 c 系列 服务器,UCS B系列/C系列/S系列/HyperFlex系列组合,与Cisco VIC卡绑定选项...
  4. God of War:Chains of Olympus download! 下载战神奥林匹斯之链!(ISO torrent)
  5. 腾讯云中间件读者敬启:2022年热门技术文章集锦,建议收藏
  6. 草根站长故事之:我的业余站长之路(下)
  7. Xwings操作Excel常用帮助功能
  8. 云原生大爆发,Day2运营与K8s集群生命周期的交织
  9. 周六带小哞去麦当劳,遇到麦当劳叔叔。
  10. osgi框架 android,基于Android的OSGi框架智能家居系统的设计与实现