我希望从Android上的浏览器中启动某种优先级的应用程序。目标是: 1.如果存在,启动应用程序A. 2.如果没有,但应用程序B出现启动应用程序B. 3.如果不是:在Google Play商店中重定向到应用A
感谢。
答案 0 :(得分:1)
您可以使用以下功能从其打包应用程序名称
public void runApp(String appName) throws IllegalArgumentException {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
for ( ResolveInfo info : getPackageManager().queryIntentActivities( mainIntent, 0) ) {
if ( info.loadLabel(getPackageManager()).equals(appName) ) {
Intent launchIntent = getPackageManager().getLaunchIntentForPackage(info.activityInfo.applicationInfo.packageName);
startActivity(launchIntent);
return;
}
}
throw new IllegalArgumentException("Application not found!");
}
答案 1 :(得分:0)
是的,这是可能的。首先,通过意图使您可以浏览应用程序。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="yourapp.com" android:path="/get/" />
</intent-filter>
现在您可以直接从浏览器访问此应用。 使用简单的脚本添加着陆页,例如
<script>
if( navigator.userAgent.match(/android/i) ) {
// redirect to the Play store
} else if( navigator.userAgent.match(/iPhone/i) ) {
// redirect IOS store
}
</script>
现在,您可以将用户重定向到应用程序(如果已安装)或现在将其重定向到另一个应用程序,然后再转移到Play商店。
<a href="http://yourapp.com/get/"/>
更多详情请见here。