簡體   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