繁体   English   中英

如何通知我照片已捕获,Android

[英]How i can be notified that the picture is captured, Android

我正在为顶石项目开发相机应用程序。

在这种模式下,我的目标是用户:

  1. 拍摄图片(主线程)
  2. 将图片发送到服务器(后台线程)
  3. 开始预览相机(主线程)
  4. 用户可以拍摄另一张照片(可选)
  5. 从服务器检索并显示结果

我正在使用此代码来捕获图像,并且可以正常工作。

mCamera.takePicture(mShutterCallback, null, new PhotoHandlerGame(getApplicationContext(), mCamera));

我的问题是:如何通知我照片已捕获并保存,以便在不阻塞主线程的情况下开始将其发送到服务器?

更新 :程序员回答后,我在onCreate内添加了此代码

private BroadcastReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game_mode_action);

    IntentFilter filter = new IntentFilter();
    filter.addAction("android.hardware.action.NEW_PICTURE");
    filter.addAction("com.android.camera.NEW_PICTURE");
    receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(TAG,"Image saved - broadcast receiver");
        }
    };
    registerReceiver(receiver,filter);

但是,它不起作用,此代码有什么问题?

public static final String ACTION_NEW_PICTURE

广播操作:相机拍摄了一张新照片,并且该照片的条目已添加到媒体存储中。 getData()是图片的URI。

常数值:“ android.hardware.action.NEW_PICTURE”

有关更多信息: http : //developer.android.com/reference/android/hardware/Camera.html#ACTION_NEW_PICTURE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM