Android 意图打开 Instagram 发布视图
Android Intent to open instagram posting view
如何在发布模式下打开 Instagram 应用程序(这样我们在 Instagram 应用程序的主屏幕上单击加号后得到的视图相同)?我已经看到 android 应用程序正在这样做,但是无法找到解释如何实现它的信息。
该代码适用于打开主页视图:
Uri uri = Uri.parse("http://instagram.com/");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
startActivity(likeIng);
也许还有一些其他的 uri 可以工作?
只有当您有媒体要在 Instagram 上分享时才能这样做:
try {
String type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;
Intent share = new Intent(Intent.ACTION_SEND);
share.setPackage("com.instagram.android");
share.setType(type);
File media = new File(mediaPath);
Uri uri = null;
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(share);
} catch (Exception e) {
e.printStackTrace();
}
您可以创建一个假媒体,但能够使用此方法。
经过一番研究后发现,与 'instagram://share' 的深度链接可以打开所需的视图。
只是为了扩展@Paavo 的答案以在代码中显示答案。
Uri uri = Uri.parse("instagram://share");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("com.instagram.android");
//Check that the user can open the intent, meaning they have the Instagram app installed
if (getPackageManager().resolveActivity(intent, 0) != null)
startActivity(intent);
else //User doesn't have app installed, handle however you want
throw new Resources.NotFoundException();
如何在发布模式下打开 Instagram 应用程序(这样我们在 Instagram 应用程序的主屏幕上单击加号后得到的视图相同)?我已经看到 android 应用程序正在这样做,但是无法找到解释如何实现它的信息。
该代码适用于打开主页视图:
Uri uri = Uri.parse("http://instagram.com/");
Intent likeIng = new Intent(Intent.ACTION_VIEW, uri);
likeIng.setPackage("com.instagram.android");
startActivity(likeIng);
也许还有一些其他的 uri 可以工作?
只有当您有媒体要在 Instagram 上分享时才能这样做:
try {
String type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;
Intent share = new Intent(Intent.ACTION_SEND);
share.setPackage("com.instagram.android");
share.setType(type);
File media = new File(mediaPath);
Uri uri = null;
share.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(share);
} catch (Exception e) {
e.printStackTrace();
}
您可以创建一个假媒体,但能够使用此方法。
经过一番研究后发现,与 'instagram://share' 的深度链接可以打开所需的视图。
只是为了扩展@Paavo 的答案以在代码中显示答案。
Uri uri = Uri.parse("instagram://share");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("com.instagram.android");
//Check that the user can open the intent, meaning they have the Instagram app installed
if (getPackageManager().resolveActivity(intent, 0) != null)
startActivity(intent);
else //User doesn't have app installed, handle however you want
throw new Resources.NotFoundException();