Android无法使用Intent将gif附加到短信

时间:2015-06-15 21:06:24

标签: android android-intent

我试图让它成为用户可以在我的应用程序中选择一个gif并通过短信发送它。从我拥有的,你可以点击一个GIF,然后该应用程序允许您选择一个消息传递平台并启动一条新消息,但给出错误"无法附加。文件不受支持。"并且不会将gif附加到短信中。我该怎么办呢?

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));

        gridview.setOnItemClickListener(new AdapterView.OnItemClickListener()   {
            @Override
            public void onItemClick(AdapterView<?> parent, View imageView, int     position, long id) {
                Toast.makeText(getApplicationContext(), "Pick a messenger!", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(Intent.ACTION_SEND);
                File f = new File("/res/drawable/broke.gif");
                intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
                intent.setType("image/gif");
                startActivity(Intent.createChooser(intent, "Send"));
            }
        });
    } 

broke.gif是我在测试程序时尝试发送的gif。

1 个答案:

答案 0 :(得分:0)

你有两个问题。

首先,正如Gabe所说,比你预期的更少的应用程序将支持GIF。

但是,你有一个更大的问题:

  

档案f =新档案(“/ res / drawable / broke.gif”);

Android设备上没有/res/drawable/broke.gif

据推测,你的意思是“我的项目中名为broke.gif的抽象”。资源是开发计算机上的文件。它们不是设备上的文件。它们是ZIP存档中的条目,即APK文件。

至少在理论上可以共享可绘制资源,例如使用my StreamProvider