我正在尝试使用我的Android应用在Instagram上分享图像。但是,当图像共享完成时,我无法获得成功。 我使用了Intent流程但同样在图像共享完成时我无法获得成功。
Intent share = new Intent(Intent.ACTION_SEND);
// Limit this call to instagram
share.setPackage("com.instagram.android");
// Set the MIME type
share.setType("image/jpg");
// Create the URI from the media
File media = new File("/storage/emulated/0/DCIM/Camera/IMG_20170627_222256129_HDR.jpg");
Uri uri = Uri.fromFile(media);
// Add the URI to the Intent.
share.putExtra(Intent.EXTRA_STREAM, uri);
try {
// Fire the Intent.
startActivityForResult(share, REQUEST_CODE);
} catch(ActivityNotFoundException e) {
// instagram not installed
}
答案 0 :(得分:0)
以下是有关startActivityForResult的一些解释。
当您开始分享时,您使用不同的信息制作一个意图,然后使用特殊方法和requestCode(您决定的唯一整数)开始您的活动
startActivityForResult(intent, requestCode)
好的做法是在配置文件中的某处有一些静态整数
然后在onActivityResult中等待从Instagram返回:
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case INSTAGRAM_REQUEST_CODE:
if (resultCode == Activity.RESULT_OK) {
// Here you do what you have to do.
}
}
}
答案 1 :(得分:0)
你可以使用startActivityForResult(),结果可能是RESULT_OK
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent i){
}