调用系统相机拍照并保存在sdcard上
public void click(View view) throws Exception { Intent intent = new Intent(); intent.setAction("android.media.action.IMAGE_CAPTURE"); intent.addCategory("android.intent.category.DEFAULT"); String fileName = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date())+".jpg"; System.out.println(fileName); File file = new File("/sdcard/"+fileName); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivity(intent); }
<uses-permission android:name="android.permission.CAMERA"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!--<uses-feature android:name="android.hardware.camera"/>-->
另:
import android.content.Intent; import android.net.Uri; import android.os.Environment; import android.os.SystemClock; import android.provider.MediaStore; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import java.io.File; public class MainActivity extends AppCompatActivity { private Button btn1; private String TAG = "log"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.btn1); final File file = new File(Environment.getExternalStorageDirectory(), SystemClock.uptimeMillis()+".jpg"); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent,200); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 200) { } Log.i(TAG, "onActivityResult: "+ requestCode + " " + resultCode); super.onActivityResult(requestCode, resultCode, data); } }

浙公网安备 33010602011771号