我已经制作了一个图片上传应用程序。我希望如果用户进入图库并且如果他选择分享按钮,我的应用程序应该在那里。因为我已经使用了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());
}
答案 0 :(得分:0)
我没有立即在你的代码中发现它......
intent = new Intent();
imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
上面的代码正在创建一个新的(空)Intent
,所以它显然不会包含任何额外内容。摆脱行intent = new Intent();
,而在第二行使用getIntent()
,以获取用于启动Intent
的{{1}},如下所示......
Activity