我的一个客户是热衷于促进他的全部应用程序的“精简版”的版本在许多流行的三星设备。 这个精简版的版本将被上传到http://www.samsungapps.com ,然后用户将可以通过下载它的“三星应用商店”应用程序 。 精简版的版本提供可在应用程序链接到完整的应用程序。
现在,我一直在寻找关于三星应用程序可以皮卡和使用直接与全应用程序的相关细节向用户呈现一个URI方案中的任何信息,三星的网站。 对于这两种谷歌Play和亚马逊,你可以简单地火了与特定URI方案和应用程序的软件包名意图; 例如:
谷歌播放:
marketIntent.setData(Uri.parse("market://details?id=" + FULL_VERSION_PACKAGE_NAME));
亚马逊:
marketIntent.setData(Uri.parse("http://www.amazon.com/gp/mas/dl/android?p=" + FULL_VERSION_PACKAGE_NAME));
这是所有记录,并相当简单的找到。 不过,我一直无法弄清楚,如果三星应用程序提供了类似的行为自己的URI方案。
我不释放,因为我们在这里谈论的Android设备,我可以链接到谷歌玩。 它只是似乎很奇怪,我认为三星将提供一个市场化的体系,而不链接到在那里提供特定产品的能力,所以我希望我忽视的东西。
有没有人有这个任何指针? 请注意,我没有一个设备(兼容)与三星Apps的实际测试任何东西。
所以,我终于找到了答案,我的问题藏起来一个PDF文件内。 它的标题为“三星应用程序深层链接指南” ,可以从三星的资源中心下载。
对于整个文档,其中包含有关如何在三星应用商店的应用程序调用特定屏幕的一些信息不感兴趣,答案很简单。 附加URI到Intent
的具有以下格式数据:
samsungapps://ProductDetail/<the package name of the AndroidManifest.xml>
例如,直接链接到三星应用了三星应用商店的应用程序(措辞仍然是有意义的?)应该是:
samsungapps://ProductDetail/com.sec.android.app.samsungapps
因此,应用程序确实支持为疑似类似于谷歌播放和亚马逊URI方案。
请注意,我没能还测试这一点,但我没有遇到一个最近提出的标志 (从2012年4月27日),显然这个功能已经突然停止工作。 根据该标志的响应三星开发者正在研究,但我可能只是推迟,直到修复已被证实。
我用的包名链接到谷歌播放,亚马逊的Appstore和三星Galaxy应用程序下面的代码。
public static final String MARKET_GOOGLE_URL = "market://details?id=";
public static final String WEB_GOOGLE_URL = "http://play.google.com/store/apps/details?id=";
public static final String MARKET_SAMSUNG_URL = "samsungapps://ProductDetail/";
public static final String WEB_SAMSUNG_URL = "http://www.samsungapps.com/appquery/appDetail.as?appId=";
public static final String MARKET_AMAZON_URL = "amzn://apps/android?p=";
public static final String WEB_AMAZON_URL = "http://www.amazon.com/gp/mas/dl/android?p=";
public static void openOnMarket(String market, String web, Context context, String packageName) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(market + packageName));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (android.content.ActivityNotFoundException anfe) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(web + packageName));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
public static void openOnGooglePlayMarket(Context context, String packageName) {
openOnMarket(MARKET_GOOGLE_URL, WEB_GOOGLE_URL, context, packageName);
}
public static void openOnSamsungMarket(Context context, String packageName) {
openOnMarket(MARKET_SAMSUNG_URL, WEB_SAMSUNG_URL, context, packageName);
}
private static void openOnAmazonMarket(Context context, String packageName) {
openOnMarket(MARKET_AMAZON_URL, WEB_AMAZON_URL, context, packageName);
}
这是在第一次试图通过URI打开市场应用,但如果没有找到打开网页链接。 我希望这个代码将是有用的人。
下面是一个较新的文档的链接互通指南为Android三星应用程序