适用于图片和视频的 Android 相机

发布于 2024-11-30 16:48:16 字数 263 浏览 1 评论 0原文

我想在我的 Android 应用程序中启动相机活动,并且我知道该怎么做。我想问当相机活动结束时,如何检查是否是用户拍摄的照片或视频?

已更新

我有一个对话框,其中询问两件事。

  1. 新照片或视频
  2. 现有照片或视频

如果没有。 1,这意味着相机将启动,用户可以拍照或视频,然后返回到活动。

如果是 2,则意味着图库将开始提供图片和视频供用户选择,然后返回到活动。

I want to start camera activity in my android app and I know how to do that. I want to ask when the camera activity finishes, how can I check as if it was the picture or the video taken by the user?

UPDATED

I have a dialog where it asks 2 things.

  1. New Photo or Video
  2. Existing Photo or Video

If it's no. 1, it means camera will be started and user can either take a picture or the video and it will return to the activity.

If it's no.2, it mean gallery will be started having pictures and videos for a user to select one and will return back to the activity.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧故 2024-12-07 16:48:16

你好,乌迈尔,
我已经完成了这种类型的应用程序,我搜索了很多次,但我没有得到任何合适的解决方案,所以我改变了你的菜单和菜单。他们现在
1)拍摄新照片
2)拍摄新视频
3)现有的图像/视频

流程将是这样的
1)我使用全局变量
2)因此,当用户单击菜单一时,我将全局变量值设置为 1
3) 启动结果活动,如下所示

try{
   System.gc();
   String fileName = System.currentTimeMillis()+".jpg";
   String mPathImage = Environment.getExternalStorageDirectory()+ "/" + fileName;
   File file = new File(mPathImage);
   Uri outputFileUri = Uri.fromFile( file );
   Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
   mIntent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
   startActivityForResult(mIntent, 1);
   mValue=1;

}catch(Exception e){

}

如果用户单击菜单 2,我将全局变量的值更改为 2
&开始活动以获得如下结果。

try {
    System.gc();
    Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
    startActivityForResult(intent, 1);
    mValue=2;
}catch(Exception e){}

如果用户单击第三个菜单,我将值设置为 3
&开始活动以获得如下结果。

try{
   System.gc();
   Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
   intent.setType("*/*");
   startActivityForResult(intent,1);
   mValue=3;
}catch(Exception e){}
}

这将显示所有图像和内容。视频在移动设备中

最后,当活动关闭时,使用全局变量来检查用户是否想要新图像或视频或现有图像/视频。

希望这会帮助你..

Hello Umair,
I have done this type of application I searched many time but I didn't get any proper solution so I changed your my menu & they are now
1)Take New Photo
2)Take New Video
3)Existing Image/Video

Process will be like this
1)I use an global variable
2)So when user click on menu one I sets global variable value to 1
3) Start the activity for result like below

try{
   System.gc();
   String fileName = System.currentTimeMillis()+".jpg";
   String mPathImage = Environment.getExternalStorageDirectory()+ "/" + fileName;
   File file = new File(mPathImage);
   Uri outputFileUri = Uri.fromFile( file );
   Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
   mIntent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
   startActivityForResult(mIntent, 1);
   mValue=1;

}catch(Exception e){

}

If User click on menu 2 I change value of global variable to 2
& starts the activity for result like below.

try {
    System.gc();
    Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
    startActivityForResult(intent, 1);
    mValue=2;
}catch(Exception e){}

If user click on 3rd menu I set value to 3
& start the activity for result like below.

try{
   System.gc();
   Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
   intent.setType("*/*");
   startActivityForResult(intent,1);
   mValue=3;
}catch(Exception e){}
}

This will show all the images & video's in mobile

Then finally when activity gets closed use global variable to check whether user want to new image or video or existing image/video.

Hope this will help you..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文