0
我有一個功能,在一個意圖中使用tel://
URI,這將啓動手機應用程序,並給出使用內置手機的選擇,因此對於沒有手機信號的設備我把條件檢查android.hardware.telephony可以將其添加到設備
if(pm.hasSystemFeature("android.hardware.telephony"))
其中pm
是PackageManager對象。
儘管能夠根據清單權限安裝應用程序,但如果這種情況不存在,某些設備將會崩潰。
但也有VOIP應用程序將採取tel://
意圖,但實際上不使用電話硬件。
有沒有一種方法可以檢查用戶的設備是否有可以使用tel URI的東西,而不是檢查它們具有哪些硬件功能?
我看,並配有內置的手機應用程序也將到該查詢正確應對所有設備? – CQM
如果設備上有任何可以解析意圖的活動,它應該觸及'context.startActivity(intent)'行。內置的手機應用程序可以做到這一點,但其他應用程序也可以做到這一點(例如,用戶可以使用Play商店中的撥號程序取代其撥號程序)。基本上,您可以避免調用startActivity,直到您確定設備上還有其他應用程序能夠接收它。 – Karakuri