API 26을 사용하고 있습니다. 사용자가 버튼을 클릭 한 후 카메라를 열고 싶습니다. 버튼이 있는데 이드는 카메라 야. 버튼을 두드릴 때 openCamera
방법으로 전화를 걸었습니다.버튼을 클릭하여 카메라를 열면 앱이 깨집니다.
public void openCamera(View v){
if(v.getId() == R.id.CAMERA) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,0);
}
}
이 방법은 MainActivity 클래스이지만, 버튼 자체라는 자신의 클래스에있다 "만들기"
// Create class
public class Create extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create);
}
}
나는이 방법은 작업을해야하기 때문에 내가 뭘 잘못 표시되지 오전 버튼에 링크되어 있습니다.
예외 스택 추적 :
5906-5906/com.gif.gif E/AndroidRuntime: FATAL EXCEPTION: main Process: com.gif.gif, PID: 5906
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.view.View$DeclaredOnClickListener.onClick(View.java:5336)
at android.view.View.performClick(View.java:6256)
.
.
.
.
Caused by: java.lang.SecurityException: Permission Denial: starting Intent {
act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera2/com.android.camera.CaptureActivity
} from ProcessRecord{5ce0ad0 5906:com.gif.gif/u0a84} (pid=5906, uid=10084)
with revoked permission android.permission.CAMERA
at android.os.Parcel.readException(Parcel.java:1942)
at android.os.Parcel.readException(Parcel.java:1888)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4365)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1610)
at android.app.Activity.startActivityForResult(Activity.java:4472)
MainActivity.java가
package com.gif.gif;
import android.view.View;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.content.Intent;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v("gif", "onCreate triggered");
}
public void onButtonClick(View v) {
if(v.getId() == R.id.CREATE) {
Intent i = new Intent(MainActivity.this,create.class);
startActivity(i);
}
}
public void openCamera(View v) {
if(v.getId() == R.id.CAMERA) {
Intent intent = new
Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,0);
}
}
protected void onStart() {
super.onStart();
Log.v("gif", "onStart triggered");
}
protected void onResume(){
super.onResume();
Log.v("gif", "onResume triggered");
}
protected void onPause(){
super.onPause();
Log.v("gif", "onPause triggered");
}
protected void onStop(){
super.onStop();
Log.v("gif", "onStop triggered");
}
protected void onDestroy(){
super.onDestroy();
Log.v("gif", "onDestory triggered");
}
}
내 XML 코드가 사용자의 예외 로그에서 https://pastebin.com/M5BC8K9V
나는 가상 전화 –
에서 실행할 때 또한 나는 점점 오전 오류가 "APP가 중지되었습니다"입니다 예외 스택 추적을 추가하십시오. 어떤 API를 사용하고 있습니까? 카메라 권한이 있습니까? – rupinderjeet
좋아, 카메라 권한 –