我们如何仅针对智能手机而非针对平板电脑使用Android意图过滤器? 智能手机和平板电脑都有一个apk。是否可以只为手机设置一些特定的东西?
预期行为 - 我的应用已安装在Android设备上。从浏览器或在同一设备上运行的其他应用程序触发的URL意图,甚至我的应用程序正在侦听(意图过滤URL场景)。现在,只有当设备是智能手机时,我的应用才会打开。对于其他方案(7英寸和10英寸平板电脑),行为应该就像应用程序在设备中不存在一样。
答案 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
}