我在一个基于web的移动应用程序上工作,用户可以选择不同的应用程序,当点击安装时,它将打开该应用程序的Google-play-store链接。用户现在可以从play-store安装应用程序。但是,playsore将作为一个单独的窗口打开。
这就是为什么,如果用户选择安装多个应用程序,就会打开几个playstore窗口。
我希望playstore窗口在安装完成后一个接一个地打开,但是,从移动浏览器(因为这不是一个apk,使用HTML/Java脚本),很难知道是否有一个应用程序安装在设备上(由于安全原因)。我读过关于Google purchase status APIs的文章。但这需要几个字段,如package-id,product-id,购买令牌来获取应用程序的购买状态。
有没有人能帮我解决我上面提到的场景?我可以使用Google purchase或Google Wallet API来解决我的问题吗?如果有人能对此提出任何其他解决方案,那就太好了。
提前谢谢。
发布于 2014-05-06 20:51:36
不,从HTML不可能知道在运行web应用程序的设备上安装了哪些app。
谷歌购买app是用于应用内购买的-它们也不会告诉你用户购买了什么应用(而且购买的应用并不等于安装的应用)。
正如Booger的回答所提到的,如果你放弃了从HTML做这件事,并编写了一个可安装的应用程序,那么你就可以找到其他已安装的应用程序(这不需要特定的权限就可以做到)。
发布于 2014-05-06 20:43:11
要了解设备上当前安装了哪些应用程序,您可以使用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);
}
....https://stackoverflow.com/questions/23494702
复制相似问题