2015-03-13 63 views
-2

如何打开另一个应用程序点击在Android应用程序中的特定页面?我正在创建一个Android应用程序,其中添加显示。当点击添加它打开Play商店。但是我想使用深层链接打开该应用程序的特定页面。例如,当我点击那个添加它打开snapdeal的特定页面时,我的应用程序中添加了snapdeal offer。如何做到这一点?在Android中使用深层链接添加

回答

0

添加要在Play商店中打开该应用的包名称:

String appPackageName = "package_xy"; // eg. com.twitter.android 

try { 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
}catch (android.content.ActivityNotFoundException e) { 
    //if playstore app not installed 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName))); 
} 

所以,你可能会需要你的广告与它送自己应用的应用包名称。或者只是打开一个网址(也许发送上面的catch中的playstore浏览器链接,如果它的应用程序,所以你可以检测到play.google.com部分并相应地替换或只是打开普通网站,如果它不是一个playstore网址)。

你问过如果应用程序已经安装会发生什么:仍然是一样的。你应该先检查一下:

Intent i; 
PackageManager manager = getPackageManager(); 
String appPackageName = "package_xy"; 

try { 
    i = manager.getLaunchIntentForPackage(appPackageName); 
    if (i == null) 
     throw new PackageManager.NameNotFoundException(); 
    i.addCategory(Intent.CATEGORY_LAUNCHER); 
    startActivity(i); 
} catch (PackageManager.NameNotFoundException e) 
{ 
    //open playstore instead 
} 

所以这只是其中的一种。如果在设备上找不到应用程序,则尝试将失败并执行捕获。如果发现它会被打开。
在Twitter上的情况下,我甚至可以用这样的深层链接打开:
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://status?status_id="+id));

对于一些喜欢的东西PDF有办法打开applicationpicker,但我不认为这是你在这个需要什么案件。 如果你使用上面的代码,你应该没问题。把第一个片段放在第二个片段中,你应该没问题。

+0

如果特定的应用程序已经安装在手机中,就会发生。 – humy 2015-03-13 11:50:42

+0

@humy编辑了我的答案 – tritop 2015-03-14 13:58:11