❶ android撥打電話
Intent.ACTION_DIAL是Intent指定的打開撥號界面的action,不需顫虛要聲明許可權,data中必須指定對應協議,否則會報錯,撥號的協議為tel,後面可拼接電話號碼或置空
Intent.ACTION_CALL是Intent指定的直接撥號的action,必須聲明許可權,否則程序將崩潰
CALL_PHONE是撥打電話功能必須聲明的許可權,因為涉及用戶手機的資費問題,屬於Android的一項危險許可權。在Android6.0以及更高版本上,在使用危險許可權時都必須進行運行時許可權處理。所以,首先使用ContextCompat.checkSelfPermission()檢測是否已經授權,checkSelfPermission()方法接收兩個參數,第一個參數為上下文Context,第二個參數為具體的許可權名,返回值和PackageManager.PERMISSION_GRANTED做比較,相等則表示已授權。如果不相等,使用ActivityCompat.requestPermissions()方法來向用戶申請授權,requestPermissions()方法接收三個參數,第一個參數為Activity的實例,第二個為String數組,敏皮把需要申請的許可權名放入數組即可,第三個為請求碼,只需要保證其唯一性即可。
調用完茄拿燃requestPermissions()方法後,無論是否同意,都會回調到onRequestPermissionsResult()方法中,授權結果封裝在grantResults參數中,requestCode表示唯一的請求碼
❷ Android 跳轉到撥號界面如何自動填寫手機號,但是不自動撥出
1、跳轉到撥號界面,代碼如下:
1)直接撥打
java">IntentintentPhone=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(intentPhone);
2)跳轉到撥號界面
Intentintent=newIntent(Intent.ACTION_DIAL,Uri.parse("tel:"+phoneNumber));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
2、跳轉到聯系人頁面,使用一下代碼:
IntentintentPhone=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber));
startActivity(intentPhone);
❸ 安卓app撥號不轉撥號界面怎麼設置
創建一個Intent。
要實現撥號程序可能很簡單,一個簡單的Intent就能實現,從發出意圖到真正實現撥號的代碼中間還執行了很多其他方法,這都是android底層源碼自動實現的,其中就包含了啟動撥號的Activity。要想實現不彈出撥號界面就實現撥號,就必須繞過中間這些方法,直接調用framework層中的撥號方法。詳情可以去看下別人寫的android撥號流程,就可知道真正實現撥號的方法。
一開始是想通過反射調用底層方法,但是當初試過,好像不能實現,所以最後直接調用底層方法,由於android本身並未提供相關的類或方法,所以必須引用額外的jar包(將android源碼編譯打包成jar)。這里用的是某位大神將android2.2的部分源碼編譯成的jar包。