使用意图来共享来自不同应用的数据

时间:2014-08-14 06:25:32

标签: android android-intent

我已经制作了一个图片上传应用程序。我希望如果用户进入图库并且如果他选择分享按钮,我的应用程序应该在那里。因为我已经使用了intents.But当我想要获得那个图像我把它作为null ??。为什么会发生这种情况。

清单

<activity
            android:name=".Home.HomeActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.SEND" />

                <data android:mimeType="image/*"></data>
                <data android:mimeType="application/doc"></data>

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity> 

家庭活动

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        leftDrawer = MenuDrawer.attach(this, MenuDrawer.Type.OVERLAY, Position.LEFT);
        leftDrawer.setContentView(R.layout.home_activity);
        leftDrawer.setTouchMode(MenuDrawer.MENU_DRAG_WINDOW);
        leftDrawer.setMenuView(R.layout.menu_drawer);

        fragmentManager = getFragmentManager();
        startFragment(new UploadButton(), "", "", false);
        intent = new Intent();
        imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
        Log.e("Image Uri",""+imageUri);
        if (imageUri != null) {
            replaceFragment(new UploadDocument());
        }

1 个答案:

答案 0 :(得分:0)

我没有立即在你的代码中发现它......

intent = new Intent();
imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);

上面的代码正在创建一个新的(空)Intent,所以它显然不会包含任何额外内容。摆脱行intent = new Intent();,而在第二行使用getIntent(),以获取用于启动Intent的{​​{1}},如下所示......

Activity