10

我想使用Android SDK撥打緊急號碼。在Android中撥打911

我正在使用以下代碼來調用數字(911)。此代碼適用於除911(緊急號碼)以外的所有號碼。當我使用911時,它顯示我不想要的撥號器屏幕。有沒有打開撥號程序撥打911的任何程序,或者我們能否阻止用戶編輯撥號程序屏幕中的號碼?

Uri callUri = Uri.parse("tel://911"); 
Intent callIntent = new Intent(Intent.ACTION_DIAL,callUri); 
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION); 
startActivity(callIntent); 
+1

相關:http://stackoverflow.com/問題/ 1811680/dial-number-without-prompt – 2011-03-14 12:06:09

回答

7

提供的代碼應該已經適用於此,但您需要CALL_PHONE和CALL_PRIVILEGED權限才能撥打緊急號碼而不顯示撥號盤。

Android Reference - Manifest Permission CALL_PRIVILEGED

一旦被添加到清單,你應該能夠使用ACTION_CALL,而不是直接使用相同的代碼撥打:

Uri callUri = Uri.parse("tel://911"); 
Intent callIntent = new Intent(Intent.ACTION_CALL,callUri); 
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION); 
startActivity(callIntent); 
0

Intent.ACTION_CALL insted的的Intent.ACTION_DIAL這將來電號碼,而不顯示在撥號盤了。

+0

我試過了這會打開撥號盤。此代碼僅適用於其他不適用於911的號碼。是否確定911呼叫未顯示撥號盤,請在您的最後查看。我已經使用這個代碼。如果您成功完成,請發佈代碼 – 2011-03-14 12:44:13

7

Action_Dial將打開撥號盤,ACTION_CALL將直接調用..

然而,從ACTION_CALL報價:

注:此意向不能用於 撥打緊急電話。應用程序 可以撥號緊急號碼使用 ACTION_DIAL,但是。