如何检测设备是否能够进行呼叫和消息传递

Mik*_*oos 17 android telephony

一些设备即.Galaxy Tablet 10.1只能发短信,但无法拨打电话.像Asus Transformer这样的其他设备甚至没有SIM卡.

如何检测设备是否可以拨打电话?如何检测设备是否可以发送短信?

Saq*_*zaq 27

使用这种技术,您可以测试各种各样的东西,例如罗盘,可用的位置

    PackageManager pm = getBaseContext().getPackageManager();
    pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
Run Code Online (Sandbox Code Playgroud)

  • 它对SMS没有帮助,是吗? (2认同)
  • 不幸的是,这会给某些手机设备和模拟器带来漏报. (2认同)

Joe*_*Joe 6

也许你可以查询PackageManager系统是否包含任何可以响应ACTION_CALL和ACTION_SENDTO意图的组件?您可能需要在URI中添加"tel:"和"smsto:"方案.


Don*_*Gru 5

应该这样做:

 PackageManager pm = this.getPackageManager();

 if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
     System.out.println("horray");
 } else {
     System.out.println("nope");
 }
Run Code Online (Sandbox Code Playgroud)