Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 限制在平板电脑中安装应用程序_Android_Android Screen Support - Fatal编程技术网

Android 限制在平板电脑中安装应用程序

Android 限制在平板电脑中安装应用程序,android,android-screen-support,Android,Android Screen Support,我有一个Android应用程序,我想停止在平板电脑上安装此应用程序。我搜索过很多网站。我有了一些想法并遵循了这一点。但这并不是限制 以下是我访问过的一些网站 我已经尝试了支持屏幕应用程序仍在平板电脑中安装。如何做到这一点 注意:我的应用程序具有minsdkversion=8和targetsdkversion=17 编辑1:我使用以下代码查找屏幕大小 xlarge screens are at least 960dp x 720dp large screens are at least 640

我有一个Android应用程序,我想停止在平板电脑上安装此应用程序。我搜索过很多网站。我有了一些想法并遵循了这一点。但这并不是限制

以下是我访问过的一些网站

我已经尝试了
支持屏幕
应用程序仍在平板电脑中安装。如何做到这一点

注意:我的应用程序具有minsdkversion=8和targetsdkversion=17

编辑1:我使用以下代码查找屏幕大小

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

WindowManager wm=getWindowManager();
DisplayMetrics dm=new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
deviceWidth=dm.widthPixels;
deviceHeight=dm.heightPixels; 
if((deviceHeight< 640 && deviceWidth<480)|| (deviceHeight<480 && deviceWidth< 640))
  {
      //large screen - TABLET

  }
xlarge屏幕至少为960dp x 720dp
大屏幕至少为640dp x 480dp
正常屏幕至少为470dp x 320dp
小屏幕至少为426dp x 320dp
WindowManager wm=getWindowManager();
DisplayMetrics dm=新的DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
deviceWidth=dm.widthPixels;
设备高度=dm.heightPixels;

如果((deviceHeight<640&&deviceWidth没有人真的想让你这么做,所以这可能有点棘手。你可以在Google Play的开发者控制台中禁用特定设备,但由于有数千台,这可能是一个很长的列表。不过,你可以使用控制台搜索Tab、pad、tablet和nexus 7,10,这可能会覆盖其中的大部分设备


另一个要考虑的选项实际上是将目标SDK设置为一个蜂巢级别。换句话说,注意它可能会损害你的应用程序的功能。

< P>一个快速而肮脏的方法是把你的清单添加到下面的行:

<uses-feature android:name="android.hardware.telephony" android:required="true" />


严格来说,这只是强制要求你的应用程序将安装在具有语音广播的设备上,实际上它将满足你的目的,因为几乎没有任何平板电脑具有电话功能。但一个值得注意的例外是三星Galaxy Note II,它是5.5版本“手机,所以从技术上讲,它介于手机和平板电脑的外形因素之间。

请记住,谷歌Play发行版可能需要一段时间。 通过控制台上载新应用程序不会立即反映在您的设备上

这可能需要几个小时,可能会错过正确的解决方案

希望这有帮助。
Yaron

我们可以通过两种方式安装android应用程序

  • adb安装命令
  • 来自谷歌游戏商店

  • 使用adb install命令,任何人都不能将应用程序安装仅限于平板电脑或手机。清单设置文件中的、等仅适用于Google Play store筛选器。我们可以通过在市场上传APK时查看所有应用程序>选择应用程序>APK>支持的设备|排除的设备。

    我的回答基于这样一个假设,即您希望阻止您的应用程序在平板电脑上安装。如果我误解了您的意思,则该回答对您无效。感谢您的回答。让我用this@Ponmalar“安装在平板电脑上”是什么意思“人们可以从谷歌Play商店在平板电脑上安装”或“我可以使用
    adb install
    将其推送到我的平板电脑上”“?没有什么可以阻止后者。唯一能验证
    PackageManager
    的是应用程序清单中的API级别。@Ponmalar关于您的EDIT1,在安装过程中没有运行的应用程序代码。您可以将此代码放在
    应用程序中。onCreate()
    并阻止应用程序运行,但您不能阻止它使用代码安装。@Ponmalar该代码仅在运行时可用,因此与您的情况无关。EDIT2有什么问题吗?非常感谢。我在Airdroid上通过直接安装尝试了一个多小时的“受限应用程序”。