Android是否在安装过程中检查依赖的应用程序?

Android是否在安装过程中检查依赖的应用程序?,android,installation,Android,Installation,我想发布我的应用程序(ABC)。它是一个有声读物文件(例如),包装为apk。用户安装此应用程序时,需要检查是否已安装其他应用程序(XYZ)。如果没有,请让用户知道在安装ABC之前必须先安装应用程序XYZ 提前谢谢 Rajesh如果您知道要查找的应用程序的包名,可以使用PackageManager测试应用程序是否存在 try{ ApplicationInfo info = getPackageManager() .getAppli

我想发布我的应用程序(ABC)。它是一个有声读物文件(例如),包装为apk。用户安装此应用程序时,需要检查是否已安装其他应用程序(XYZ)。如果没有,请让用户知道在安装ABC之前必须先安装应用程序XYZ

提前谢谢


Rajesh

如果您知道要查找的应用程序的包名,可以使用PackageManager测试应用程序是否存在

try{
     ApplicationInfo info = getPackageManager()
                             .getApplicationInfo("com.myproject", 0 );
     //-- application exists
    } catch( PackageManager.NameNotFoundException e ){
     //-- application doesn't exist
}

如果XYZ是共享库,您可以设置应用程序的android清单,以防止用户在没有XYZ的情况下安装ABC。 请使用ABC的AndroidManifest.xml中的元素,声明:

<uses-library android:name="package name of XYZ" android:required="true" />


希望这有助于解决您的问题。

不过,我认为您无法在“安装时”完成此操作。你很可能在第一次运行应用程序时就需要这样做。对。。。我认为不可能在安装时运行此代码。也就是说,在安装过程中可以采取什么措施?第一次有人实际运行你的应用程序时,检查是否存在另一个应用程序会更好吗?“也就是说,在安装过程中你可以采取什么行动?”什么都没有——你无法控制用户首次启动你的应用程序。“第一次有人真正运行你的应用程序时,检查是否存在其他应用程序会更好吗?”别无选择——这是唯一的实际选择。我一直主张为APK建立一个依赖系统来处理这种情况,但得到的回应……令人不快。感谢您在Commonware中的点拨。我喜欢产生问题的答案,这些问题产生答案。:)此方法是否告知用户无法安装应用程序,因为它需要依赖的应用程序?如果是这样,是否会将其推向市场?使用库设置的效果是,应用程序将被市场过滤掉,因此,如果设备中尚未安装XYZ,用户将无法看到应用程序ABC: