android電話流程
⑴ 有人知道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協議賬戶)怎麼設置使用
在撥號界面中選擇「設置」;
選擇「更多電話設置」;
選擇「互聯網電話」;
點擊「添加帳戶」在用戶名、密碼、伺服器、埠號四基中正確填寫,然後保存;
在「使用互聯網電話"中選擇「每次呼叫時詢問」。
互聯網電話是基於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的源代碼,可是沒有具體的資料。