当前位置:首页 » 安卓系统 » android电话流程

android电话流程

发布时间: 2022-06-10 11:03:33

⑴ 有人知道Android紧急呼叫RIL流程么

拨出电话流程:

1在系统源码这个路径下/packages/apps/Phone/src/com/android/phone/DialtactsActivity.java

contacts的androidmanifest.xmlandroid:process="android.process.acore"说明此应用程序运行在acore进程中。DialtactsActivity的intent-filter的action属性设置为main,catelog属性设置为launcher,所以此activity能出现,首先启动的就是这个activity在主菜单中,并且是点击此应用程序的第一个界面。dialtactsactivity包含四个tab,分别由TwelveKeyDialer、RecentCallsListActivity,两个activity-和分别表示联系人和收藏tab,但是正真的联系人列表和收藏是由ContactsListActivity负责。

2

进入TwelveKeyDialer OnClick方法,按住的按钮id为:R.id.digits,执行

详细

⑵ 如何向Android模拟器打电话

一、布局,拖一个框用来输入电话号码,一个按扭拨号
二、打电话的权限添加进来
<uses-permission android:name="android.permission.CALL_PHONE"/>
三、写拨号的点击事件
Activity:
public class DialerAction extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button =(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
publicvoid onClick(View v) {
EditTexteditText = (EditText)findViewById(R.id.mobile);
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ editText.getText()));
DialerAction.this.startActivity(intent);
}
});
}
}
四,输入另一个模拟器,例如5554 5556之类的号码就可以打电话了

⑶ 求解,android9.0,通话中Audio状态从蓝牙A切换到蓝牙B具体在哪边实现,实现流程是怎样

最快捷的方法是按音量键,音量调节上方有选择音频输出方式,点击,可以调出输出列表,即可在扬声器及不同蓝牙耳机间切换。

⑷ android开发怎么拨打电话

无权限版(弹出拨号界面并自动输入电话号码,用户选择是否拨号):

importandroid.content.Context;
importandroid.content.Intent;
importandroid.net.Uri;
publicvoidCall(StringNum,Contextc){
if(Num!=null&&Num.length()>0){
Intentitt=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:"+Num));
itt.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(itt);
}
}

权限版(弹出拨号界面,自动输入电话号码并立刻拨号,在部分系统中会触发安全警告):

<!---权限--->
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
importandroid.content.Context;
importandroid.content.Intent;
importandroid.net.Uri;
publicvoidCall(StringNum,Contextc){
if(Num!=null&&Num.length()>0){
Intentitt=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+Num));
itt.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(itt);
}
}

⑸ android如何实现后台打电话

第一种方法,拨打电话跳转到拨号界面。源代码如下:
?

1
2
3
4

Intent intent = new Intent(Intent.ACTION_DIAL);
Uri data = Uri.parse("tel:" + "135xxxxxxxx");
intent.setData(data);

⑹ android怎么实现自动接听和挂断电话功能

android 实现来电自动接听和自动挂断的方法:
第一步:准备应用环境需要的系统包和aidl文件。
(1)在应用中创建包:android.telephony
将android系统框架下的\framework\telephony\java\android\telephony目录中的NeighboringCellInfo.aidl文件复制到上面创建的包(android.telephony )中;
(2)在应用中创建包:com.android.internal.telephony
将android系统框架下的\framework\telephony\java\com\android\internal\telephony目录中的ITelephony.aidl文件复制到上面创建的包(com.android.internal.telephony )中。
第二步:创建一个获取ITelephony的方法
PhoneUtils.java
package com.zhouzijing.android.demo;

import java.lang.reflect.Method;
import com.android.internal.telephony.ITelephony;
import android.telephony.TelephonyManager;

public class PhoneUtils {
/**
* 根据传入的TelephonyManager来取得系统的ITelephony实例.
* @param telephony
* @return 系统的ITelephony实例
* @throws Exception
*/
public static ITelephony getITelephony(TelephonyManager telephony) throws Exception {
Method getITelephonyMethod = telephony.getClass().getDeclaredMethod("getITelephony");
getITelephonyMethod.setAccessible(true);//私有化函数也能使用
return (ITelephony)getITelephonyMethod.invoke(telephony);
}
}

第三步:创建电话广播拦截器
MyPhoneBroadcastReceiver.java
package com.zhouzijing.android.demo;

import com.android.internal.telephony.ITelephony;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;

public class MyPhoneBroadcastReceiver extends BroadcastReceiver {

private final static String TAG = MyPhone.TAG;

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.i(TAG, "[Broadcast]"+action);

//呼入电话
if(action.equals(MyPhone.B_PHONE_STATE)){
Log.i(TAG, "[Broadcast]PHONE_STATE");
doReceivePhone(context,intent);
}
}

/**
* 处理电话广播.
* @param context
* @param intent
*/
public void doReceivePhone(Context context, Intent intent) {
String phoneNumber = intent.getStringExtra(
TelephonyManager.EXTRA_INCOMING_NUMBER);
TelephonyManager telephony = (TelephonyManager)context.getSystemService(
Context.TELEPHONY_SERVICE);
int state = telephony.getCallState();

switch(state){
case TelephonyManager.CALL_STATE_RINGING:
Log.i(TAG, "[Broadcast]等待接电话="+phoneNumber);
try {
ITelephony iTelephony = PhoneUtils.getITelephony(telephony);
iTelephony.answerRingingCall();//自动接通电话
//iTelephony.endCall();//自动挂断电话
} catch (Exception e) {
Log.e(TAG, "[Broadcast]Exception="+e.getMessage(), e);
}
break;
case TelephonyManager.CALL_STATE_IDLE:
Log.i(TAG, "[Broadcast]电话挂断="+phoneNumber);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.i(TAG, "[Broadcast]通话中="+phoneNumber);
break;
}
}

}

第四部:注册电话广播拦截器
MyPhone.java
package com.zhouzijing.android.demo;

import android.app.Activity;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View;

public class MyPhone extends Activity {
public final static String TAG = "MyPhone";

public final static String B_PHONE_STATE = TelephonyManager.ACTION_PHONE_STATE_CHANGED;

private MyPhoneBroadcastReceiver mBroadcastReceiver;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_phone);
}

//按钮1-注册广播
public void registerThis(View v) {
Log.i(TAG, "registerThis");
mBroadcastReceiver = new MyPhoneBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(B_PHONE_STATE);
intentFilter.setPriority(Integer.MAX_VALUE);
registerReceiver(mBroadcastReceiver, intentFilter);
}

//按钮2-撤销广播
public void unregisterThis(View v) {
Log.i(TAG, "unregisterThis");
unregisterReceiver(mBroadcastReceiver);
}

}

第5步:在AndroidManifest.xml配置权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE"/>

其中:
iTelephony.answerRingingCall();//自动接通电话
必须有权限 android.permission.MODIFY_PHONE_STATE
iTelephony.endCall();//自动挂断电话
必须有权限 android.permission.CALL_PHONE。

⑺ android自带的互联网电话(SIP协议账户)怎么设置使用

  1. 在拨号界面中选择“设置”;

  2. 选择“更多电话设置”;

  3. 选择“互联网电话”;

  4. 点击“添加帐户”在用户名、密码、服务器、端口号四基中正确填写,然后保存;

  5. 在“使用互联网电话"中选择“每次呼叫时询问”。

互联网电话是基于VoIP技术的语音通信软件,与语音交换服务器、电话网关和接点交换服务器构成完整的语音通信平台,还支持包括USB语音通信手柄、USB-RJ11转换盒和PCI-RJ11转换卡等硬件产品,能够在以TCP/IP协议为基础的网络上提供 PCTOPC、PCTOPhone和PhoneTOPhone的通信服务,可以满足电信运营商、宽带运营商提供通信服务和企业解决通信问题的需要。

⑻ android中拨打电话的几种实现

手机拨打号码的方法:
1.打开手机拨号盘-输入号码-点击电话图标即可。
2.安卓手机可以打开通讯录,在某一联系人位置自左向右滑动即可拨打电话。
3.部分手机支持S Voice功能,可以使用语音拨打电话。操作:双击手机Home键-打开S Voice-说出语音命令“呼叫XX的手机”即可。使用S Voice功能,手机需要联网。

⑼ android怎么拨打电话,显示的号码不是拨打的那个号码

android中打电话通常都会自动调用android系统的电话拨打界面,里面会显示联系人和电话号码,怎样可以只显示联系人不显示电话号码呢?(用于callcenter中防止客户资料流失的)在网上好像说需要修改android的源代码,可是没有具体的资料。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:335
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:943
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371