2014-10-21 3 views
0

Компания, с которой я работаю, разработала веб-сайт одежды с двумя связанными приложениями. Один для общего пользования одеждой, а другой специально для женской обуви. Есть версии iOS и Android для обоих приложений.Управление потоком схем приложений.

В настоящее время мы имеем пользовательскую схему для обоих приложений: mycompany:// и mycompanyladyshoes://. Я хочу знать, есть ли способ, после того, как пользователь нажимает на ссылку с mycompanyladyshoes://... и не устанавливает установленное приложение для девушек, а затем перенаправляет на исходное приложение и , а затем, если это приложение не установлено перенаправлять в магазин Play/iTunes.

Есть ли способ контролировать, где прямые ссылки, если определенные приложения установлены или не установлены?

ответ

0

(Это для Android, я понятия не имею, что использует IOS для такого рода функциональности)

То, что вы хотите сделать, это добавить <intent-filter> к деятельности в принимающем приложении, который принимает пользовательскую схему.

<activity ... > 
    <intent-filter> 
     <action name="android.intent.action.VIEW" /> 
     <data android:scheme="mycompanyladyshoes" /> 
    </intent-filter> 
</activity> 

Для запуска магазина игры, если он не установлен, вы можете сначала проверить, что устройство имеет установленное приложение, которое может открыть неявное намерение:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("mycompanyladyshoes://"); 

// check if it can be handled 
PackageManager pm = context.getPackageManager(); 
List<ResolveInfo> activities = pm.queryIntentActivities(intent); 
if (activities != null && activities.size() > 0) { 
    // an installed app can resolve this intent 
    startActivity(intent); 
} else { 
    // no installed app can resolve it; open play store instead 
    intent.setData(Uri.parse("market://details?id=" + appPackageName)); 
    startActivity(intent); 
}