我的应用程序已停止发送包含图像的推文

时间:2014-09-09 02:38:28

标签: android android-intent twitter

我有一个Android应用程序,它使用该选项在Android中共享。该应用程序正常发布推文,但最近停止发布推文发出错误。我找到它的错误原因。我的应用程序下载了附在推文上的图像。该图像存储在临时文件夹中,并在调用onActivityResult方法时删除。 Twitter现在在发布推文之前调用此方法,因此当您尝试发布图片时,它已被删除。 有什么建议吗?这会在Twitter更新中发生变化,还是应该修改我的应用程序?

1 个答案:

答案 0 :(得分:0)

使用此代码。

private void sendShareTwit() {
    try {
        Intent tweetIntent = new Intent(Intent.ACTION_SEND);

        String filename = "<file path>/twitter_image.jpg";
        File imageFile = new File(Environment.getExternalStorageDirectory(), filename);

        tweetIntent.putExtra(Intent.EXTRA_TEXT, twitter_share_text);
        tweetIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFile));
        tweetIntent.setType("image/jpeg");
        PackageManager pm = getActivity().getPackageManager();
        List<ResolveInfo> lract = pm.queryIntentActivities(tweetIntent, PackageManager.MATCH_DEFAULT_ONLY);
        boolean resolved = false;
        for (ResolveInfo ri : lract) {
            if (ri.activityInfo.name.contains("twitter")) {
                tweetIntent.setClassName(ri.activityInfo.packageName,
                        ri.activityInfo.name);
                resolved = true;
                break;
            }
        }

        startActivity(resolved ?
                tweetIntent :
                Intent.createChooser(tweetIntent, "Choose one"));
    } catch (final ActivityNotFoundException e) {
        System.out.rintln( "You don't seem to have twitter installed on this device", Toast.LENGTH_SHORT));
    }
}