我基本上想要的是从另一个应用程序打开Instagram应用程序,并发送带有标题的图像。在iOS中有一些有用的文档可以做到这一点。(iPhone挂钩)
Instagram是否支持按iPhone-hooks中的说明在Android中(如在iOS中)执行自定义操作?
以下是我的应用程序中用来部分执行此任务的当前代码。
private void sendImageToIntagram(Activity activity) {
Intent intent = activity.getPackageManager().getLaunchIntentForPackage("com.instagram.android");
if (intent != null) {
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setPackage("com.instagram.android");
String imagePath = ImageUtil.getProcessedImage().getAbsolutePath();
try {
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(activity.getContentResolver(), imagePath, "Title", "Description")));
// shareIntent.putExtra(Intent.EXTRA_TITLE, "Caption 01");
// shareIntent.putExtra(Intent.EXTRA_TEXT, "Caption 02");
// shareIntent.putExtra(Intent.EXTRA_SUBJECT,"Caption 03");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
shareIntent.setType("image/jpeg");
activity.startActivity(shareIntent);
} else {
// bring user to the market to download the app.
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("market://details?id=" + "com.instagram.android"));
activity.startActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
上述标题,说明,标题01,标题02,标题03均无效。
然后我尝试了
shareIntent.setAction(Intent.ACTION_SEND); -> shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
和,
shareIntent.setType("image/jpeg");
shareIntent.setType("image/*");
shareIntent.setType("*/*");
Run Code Online (Sandbox Code Playgroud)
也可以,但是以上方法均无效。
简短的回答,不。
Instagram 没有类似 iPhone-hooks 的 Android 版本。
他们确实支持,ACTION_SEND但只考虑到Intent.EXTRA_STREAM他们的目的。
除非在过去 4 个月内发生了一些变化(我对此表示怀疑),否则这个人会从他们的AndroidManifest.xml中对他们的代码进行存根,您可以通过查看他们的意图捕获器Activity 来假设他们只关心android.intent.extra.STREAM.
因此,目前您无法发送除实际图像之外的任何其他数据。
纵观这个问题,尤其是克里斯科特(Chriskot)的回答,看起来自2014年7月起,Instagram即可助您一臂之力。
长话短说
Intent instagram = new Intent(android.content.Intent.ACTION_SEND);
instagram.setType("image/*");
instagram.putExtra(Intent.EXTRA_STREAM, [URI of photo]);
instagram.putExtra(Intent.EXTRA_TEXT, [Text of caption]);
instagram.setPackage(instagramPackageName);
startActivity(instagram);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9073 次 |
| 最近记录: |