我正在使用Android Studio創建應用程序。我希望系統能夠訪問手機的相機。它在模擬器上工作,我可以拍照並將圖像設置爲ImageView中的圖像。Android相機適用於模擬器,但不適用於手機?
但是,我開始使用手機運行並且相機無法使用。通常,當我點擊ImageButton時,相機會打開,但現在,它會將我重定向到以前打開的頁面。
這裏是我的代碼:
public class DriverActivity extends AppCompatActivity {
Button btnDriverBack, btnDriverSubmit;
ImageButton ibtnDriverPhoto;
ImageView imageDriver;
EditText etDriverFirstName, etDriverLastName, etDriverMiddleName, etDriverBDay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_driver);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ibtnDriverPhoto = (ImageButton) findViewById(R.id.ibtnDriverPhoto);
imageDriver = (ImageView) findViewById(R.id.imageDriver);
etDriverFirstName = (EditText) findViewById(R.id.etDriverFirstName);
etDriverMiddleName = (EditText) findViewById(R.id.etDriverMiddleName);
etDriverLastName = (EditText) findViewById(R.id.etDriverLastName);
etDriverBDay = (EditText) findViewById(R.id.etDriverBDay);
ibtnDriverPhoto.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera, 1);
}
});
btnDriverBack = (Button) findViewById(R.id.btnDriverBack);
btnDriverBack.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent driveBack = new Intent(DriverActivity.this, SummaryActivity.class);
startActivity(driveBack);
}
});
btnDriverSubmit = (Button) findViewById(R.id.btnDriverSubmit);
btnDriverSubmit.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent driverSubmit = new Intent(DriverActivity.this, CreditCardActivity.class);
startActivity(driverSubmit);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1)
{
Bitmap license = (Bitmap) data.getExtras().get("data");
imageDriver.setImageBitmap(license);
}
}
我已經設置了正確的用途權限。任何幫助將不勝感激,謝謝! :)
我覺得你的手機的Android版本>棒棒糖。因此,您必須請求運行時權限才能使用設備相機。 –
@SudheeshR謝謝,我的版本確實比棒棒糖更高! :) – Justin