我正在开发一个基于网络的移动应用程序,用户可以在其中选择不同的应用程序,点击安装后,它将打开该应用程序的Google Play商店链接。用户现在可以从Play商店安装应用程序。但是,戏剧将作为一个单独的窗口打开。
如果用户选择要安装的多个应用程序,将会打开多个Playstore窗口。
我希望一旦安装完成就一个接一个地打开Playstore窗口,但是,从移动浏览器(因为这不是apk并使用HTML / Java脚本),很难知道一个应用程序是否是安装在设备上(由于安全原因)。我读过Google purchase status APIs。但这需要一些字段,如package-id,product-id,购买代币才能获得应用的购买状态。
任何人都可以帮我解决上面提到的情况吗?我可以使用Google购买或Google电子钱包API来解决我的问题吗?如果有人可以为此建议任何其他解决方案,那就没问题了。
提前致谢。
答案 0 :(得分:1)
不,从HTML中无法知道运行Web应用程序的设备上安装了哪些apks。
Google购买API适用于应用内购买 - 它们也不会告诉您用户购买了哪些应用(购买的应用不等于已安装的应用)。
正如Booger的回答所提到的,如果你从HTML中删除并编写可安装的应用程序,那么你就可以找到其他安装的应用程序(这不需要特定的权限)。
答案 1 :(得分:0)
要了解当前设备上安装了哪些应用,您可以使用PackageManager
查询您的设备并获取此信息。
您可以注册广播,以便在设备上安装应用时由系统通知。
要注册此广播,请在清单中输入以下内容:
<receiver
android:name="com.yourpackage.service.InstallReceiver"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
然后你将创建一个名为InstallReceiver的类,并在那里有类似的东西:
public class InstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
final String packageLink = intent.getData().toString();
EasyTracker.getInstance().setContext(context);
final Tracker trackerV2 = EasyTracker.getTracker();
trackerV2.trackEvent("app_action", "installed", packageLink, null);
}
....