[Android]_ch10.5_調用相機拍照功能
package com.gjun.ch26_takephoto;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
TextView tv;
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.textView1);
iv=(ImageView)findViewById(R.id.imageView1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.item1:
if(isIntentAvailable(MainActivity.this, MediaStore.ACTION_IMAGE_CAPTURE)){
Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 100);
}else{
Toast.makeText(MainActivity.this,"找不到內建應用程式" , Toast.LENGTH_SHORT).show();
}
break;
case R.id.item2:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
public boolean isIntentAvailable(Context context,String action){
PackageManager pm=context.getPackageManager();
Intent intent=new Intent(action);
List<ResolveInfo> list=pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if(list.size()>0)
return true;
else
return false;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, intent);
if(resultCode==RESULT_OK){
switch(requestCode){
case 100:
Bundle bundle=intent.getExtras();
Bitmap bitmap=(Bitmap)bundle.get("data");
iv.setImageBitmap(bitmap);
break;
}
}
}
}
沒有留言:
張貼留言