Android - 收听用于仅针对手机启动我的应用的特定网址,而不是针对平板电脑

时间:2016-02-02 10:03:35

标签: android android-intent tablet smartphone

我们如何仅针对智能手机而非针对平板电脑使用Android意图过滤器? 智能手机和平板电脑都有一个apk。是否可以只为手机设置一些特定的东西?

预期行为 - 我的应用已安装在Android设备上。从浏览器或在同一设备上运行的其他应用程序触发的URL意图,甚至我的应用程序正在侦听(意图过滤URL场景)。现在,只有当设备是智能手机时,我的应用才会打开。对于其他方案(7英寸和10英寸平板电脑),行为应该就像应用程序在设备中不存在一样。

1 个答案:

答案 0 :(得分:1)

在您的Android清单文件中 -

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-feature android:name="android.hardware.telephony" android:required="false" />

允许它是可选的,因此您仍然可以在wifi设备(例如平板电脑)上下载

然后在您的代码中,如果设备具有电话服务以进行进一步操作 -

if(Context.getSystemService(Context.TELEPHONY_SERVICE)!=null){
 // it has telephony service so either a smartphone or 3g enabled tablet
}else{
// wifi tablet, no need for further operation
}

或者你可以这样做 -

PackageManager pm = context.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)){
   // it has telephony service so either a smartphone or 3g enabled tablet
}else{
  // wifi tablet, no need for further operation
}