监视新文件的文件夹Eclipse

时间:2016-01-31 13:28:52

标签: java android

我正在制作一款可以拍照的应用。如果拍摄的照片被添加到我的“相机”文件夹中,我想要显示烤面包机信息。

然而,当我点击相机按钮时,我的当前代码,烤面包机只是出现而没有等待照片拍摄。

以下是拍摄照片的源代码:

static final int REQUEST_IMAGE_CAPTURE = 1;
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 0;
public void onClickbtnCamera(View v){
  Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
  String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
  Uri uriSavedImage=Uri.fromFile(
    new  File("/storage/emulated/0/DCIM/Camera","QR_"+timeStamp+ ".png"));
  imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
  startActivityForResult(imageIntent, 1);
}

我想要展示的烤面包机:

Toast toast= Toast.makeText(getApplicationContext(),
             "Picture was taking", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL, 100, 0);
toast.show();

你能告诉我为什么我的代码无法完成预期的工作吗?

1 个答案:

答案 0 :(得分:0)

仅监控文件夹的部分:

for (;;) {

// wait for key to be signaled
WatchKey key;
try {
    key = watcher.take();
} catch (InterruptedException x) {
    return;
}

for (WatchEvent<?> event: key.pollEvents()) {
    WatchEvent.Kind<?> kind = event.kind();

    // This key is registered only
    // for ENTRY_CREATE events,
    // but an OVERFLOW event can
    // occur regardless if events
    // are lost or discarded.
    if (kind == OVERFLOW) {
        continue;
    }

    // The filename is the
    // context of the event.
    WatchEvent<Path> ev = (WatchEvent<Path>)event;
    Path filename = ev.context();

    // Verify that the new
    //  file is a text file or a directory using the path filename from above.

}

// Reset the key -- this step is critical if you want to
// receive further watch events.  If the key is no longer valid,
// the directory is inaccessible so exit the loop.
boolean valid = key.reset();
if (!valid) {
    break;
}

}