打开Instagram的用户资料

我设法从我的应用程序打开TwitterFacebook用户configuration文件。 但是我找不到任何对Instagram引用。

有没有办法打开Instagram ,以显示在Twitter或Facebook的用户configuration文件?

例如,为了获得Intent启动Twitter应用程序,我做了:

 public Intent getOpenTwitterIntent(Context context) { try { return new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?screen_name=" .concat(twitterUsername))); } catch (Exception e) { return new Intent( Intent.ACTION_VIEW, Uri.parse("https://twitter.com/#!/".concat(twitterUsername))); } } 

我怎样才能与Instagram类似的东西? 提前致谢。

Solutions Collecting From Web of "打开Instagram的用户资料"

这里是一个方法,以获取Intent打开Instagram的应用程序到用户的个人资料页面:

 /** * Intent to open the official Instagram app to the user's profile. If the Instagram app is not * installed then the Web Browser will be used.</p> * * Example usage:</p> {@code newInstagramProfileIntent(context.getPackageManager(), * "http://instagram.com/jaredrummler");}</p> * * @param pm * The {@link PackageManager}. You can find this class through * {@link Context#getPackageManager()}. * @param url * The URL to the user's Instagram profile. * @return The intent to open the Instagram app to the user's profile. */ public static Intent newInstagramProfileIntent(PackageManager pm, String url) { final Intent intent = new Intent(Intent.ACTION_VIEW); try { if (pm.getPackageInfo("com.instagram.android", 0) != null) { if (url.endsWith("/")) { url = url.substring(0, url.length() - 1); } final String username = url.substring(url.lastIndexOf("/") + 1); // http://stackoverflow.com/questions/21505941/intent-to-open-instagram-user-profile-on-android intent.setData(Uri.parse("http://instagram.com/_u/" + username)); intent.setPackage("com.instagram.android"); return intent; } } catch (NameNotFoundException ignored) { } intent.setData(Uri.parse(url)); return intent; } 

经过简短的search和尝试我们都知道“不会工作”我得到了这个工作

  Uri uri = Uri.parse("http://instagram.com/mzcoco2you"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 

这应该启动您的默认浏览器,然后…你去。 答案是“instagram.com”+“/ UserName”。

到目前为止,我找不到直接显示用户configuration文件的方法..但是有一个方法..

从GitHub的Instagram Manifest中find这个解决scheme

  Intent iIntent = getPackageManager().getLaunchIntentForPackage("com.instagram.android"); iIntent.setComponent(new ComponentName( "com.instagram.android", "com.instagram.android.activity.UrlHandlerActivity")); iIntent.setData( Uri.parse( "http://instagram.com/p/gjfLqSBQTJ/") ); startActivity(iIntent); 

这将打开应用程序中的用户发布的特定图像。 从页面应用程序用户可以打开与内部链接的configuration文件。

如果你想打开最近的post或什么的,你可以使用Instagram的API

这不是我们想要的,但现在更好的select…我想:)

直接打开instagram应用程序到用户configuration文件:

 String scheme = "http://instagram.com/_u/USER"; String path = "https://instagram.com/USER"; String nomPackageInfo ="com.instagram.android"; try { activite.getPackageManager().getPackageInfo(nomPackageInfo, 0); intentAiguilleur = new Intent(Intent.ACTION_VIEW, Uri.parse(scheme)); } catch (Exception e) { intentAiguilleur = new Intent(Intent.ACTION_VIEW, Uri.parse(path)); } activite.startActivity(intentAiguilleur); // Use this link to open directly a picture String scheme = "http://instagram.com/_p/PICTURE"; 
 try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://instagram.com/_u/" + "username")); intent.setPackage("com.instagram.android"); startActivity(intent); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.instagram.com/" + username))); } 

不幸的是,目前您无法打开Instagram应用直接转到用户个人资料。 但是,您可以在Instagram应用中打开某张照片。

我提供的以下代码将在Instagram应用程序中打开某张照片。 如果没有安装Instagram应用程序,它将在浏览器内部打开一个用户configuration文件。

 public void openInstagram (View view) { Intent intent = null; String pictureId = "p/0vtNxgqHx9"; String pageName = "d4v3_r34d"; try {intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android"); intent.setComponent(new ComponentName("com.instagram.android", "com.instagram.android.activity.UrlHandlerActivity")); intent.setData(Uri.parse("http://instagram.com/" + pictureId)); } catch (Exception e) { intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://instagram.com/" + pageName)); } this.startActivity(intent); 

为了您自己的目的,我很容易编辑这些代码。 将“String pictureId”设置为要显示的图片的ID,并将“String pageName”设置为您的Instagram帐户的用户名。

用户名部分是显而易见的,但如果你需要帮助,让你的图片ID看这张图片 。