我正在为顶点项目开发相机应用程序。
在这种模式下,我的目标是用户:
我正在使用此代码捕获图像,但它可以正常工作。
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);
但是,它不起作用,这段代码出了什么问题?
答案 0 :(得分:2)
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