如何禁止在expo/react-native中使用平板电脑?

Kev*_*n91 12 android google-play react-native expo

我已经用 Expo 和 React-native 为智能手机开发了一个应用程序 - 现在我正在尝试将“.aab”文件上传到 Google Play 商店 - 但它似乎也适用于平板电脑和可穿戴设备。我真的不知道如何将其编码到“app.json”或代码本身中,只必须支持智能手机。

此外,甚至不应该从智能手机以外的任何其他设备下载该应用程序,因为这会导致糟糕的用户体验

我尝试了设备目录,但只能选择通过处理器或 RAM 进行阻止 - 有一个简单的解决方案吗?

Moh*_*iya 5

要禁止您的应用程序获得平板电脑/电视支持,您只需将以下标签添加到AndroidManifestFile.xml.

如果您正在使用expo尝试eject并这样做。

<manifest ... >
    <supports-screens android:smallScreens="true"
                      android:normalScreens="true"       
                      android:largeScreens="false"         <- forbid for tablets
                      android:xlargeScreens="false"/>      <- forbid for tv
    ...
</manifest>
Run Code Online (Sandbox Code Playgroud)

注意:以下是博览会所说的内容,因此不必担心弹出(如果您不想修改本机文件),但要完全了解。

弹出后,所有 JS 文件将保持不变,但我们将在项目文件夹中另外创建 ios 和 android 目录。它们将分别包含 Xcode 和 Android Studio 项目,并且它们将依赖于 React Native 和 Expo 的核心 SDK。您仍然可以使用 Expo CLI 开发和测试您的项目,并且仍然可以以相同的方式发布您的 Expo JS 代码。但是,如果您添加 Expo 中未包含的本机依赖项,​​其他用户将无法通过主 Expo 应用程序运行您的应用程序的这些功能。您需要自己分发本机项目。


rav*_*avi 0

你好,我对 React Native 框架一点也不熟悉,但我快速搜索了一下,AndroidManifest.xml你的项目中一定有一个文件;最有可能在android > app > src > main

无论您在何处找到该AndroidManfiest.xml文件,都可以通过添加以下内容来限制您的应用程序仅支持正常屏幕尺寸:

<supports-screens android:normalScreens="true"
                  android:largeScreens="false"
                  android:xlargeScreens="false"
                  android:largestWidthLimitDp="600"/>

Run Code Online (Sandbox Code Playgroud)

更多关于<supports-screens>标签的信息请点击这里

有关屏幕尺寸的更多信息,请查看此处,如果 600 不是您想要的,也许您想支持某些平板手机外形尺寸;)

当您在清单文件中声明这些内容时,上传的 apk 或捆绑包会自动显示到仅具有选定屏幕配置的设备。您甚至可以在 Play 管理中心的设备目录部分查看您的应用支持的设备。

我希望它有帮助。让我知道。