2017-09-04 6 views
-3

ActivityCompat.checkSelfPermission에서 동일한 오류가 발생합니다. 여러 번 후에 해당 메서드를 해결할 수 없습니다.)
ActivityCompat.checkSelfPermission에서 메서드를 확인할 수 없습니다.

1 : 은 이미 사전에 인터넷과 stackoverflow.please 도움이 와요 고마워요 다른 많은 솔루션을 시도

import android.support.v4.app.ActivityCompat; 
/*  
. 
. 
. 
*/ 


public boolean PERMISSIONSRECORD_AUDIO() { 
    int MY_PERMISSIONS_REQUEST_RECORD_AUDIO = 1; 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) 
      != PackageManager.PERMISSION_GRANTED) { 
     ActivityCompat.requestPermissions`enter code here`(this, new String[]{Manifest.permission.RECORD_AUDIO}, strong textMY_PERMISSIONS_REQUEST_RECORD_AUDIO); 
    } 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) 
      != PackageManager.PERMISSION_GRANTED){return false;} 
    return true; 

}        

build.gradle는

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.1" 
    defaultConfig { 
    applicationId "first.findphone" 
    minSdkVersion 16 
    targetSdkVersion 26 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    vectorDrawables.useSupportLibrary = true 
    android.defaultConfig.vectorDrawables.useSupportLibrary = true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 
dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile "com.android.support:support-core-utils:26.0.2" 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 

}) 
compile 'com.android.support:support-v4:26.0.2' 
compile 'com.android.support:appcompat-v7:26.0.2' 
compile 'com.android.support:design:26.0.2' 
compile 'com.android.support:support-vector-drawable:26.0.2' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
compile 'com.google.firebase:firebase-core:10.0.1' 
compile 'com.google.firebase:firebase-crash:10.0.1' 
compile 'com.google.firebase:firebase-ads:10.0.1' 
testCompile 'junit:junit:4.12' 
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.2' 
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.2' 
} 

답변

0

이 시도 다음과 같다 메소드 작성 checkPermissionRecordAudio()

public boolean checkPermissionRecordAudio(){ 
     if (ContextCompat.checkSelfPermission(this.context, 
       android.Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) 
      return false; 
    return true; 
} 
@Override 
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
     switch (requestCode) { 
      case RequestPermission.MY_PERMISSIONS_REQUEST_RECORDAUDIO: { 
       // If request is cancelled, the result arrays are empty. 
       if (grantResults.length > 0 
         && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
//permission is enable, do something 
       } else { 
        //permission not enable 
       } 

      } 
     } 
     super.onRequestPermissionsResult(requestCode,permissions,grantResults); 
    } 
+0

여전히 내가 얻을 요청을 처리하기위한2)) 최종 재정의 onRequestPermission (에서 방법 requestPermission()

public void requestPermission(){ if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) this.context,android.Manifest.permission.RECORD_AUDIO)) { AlertDialog.Builder builder = new AlertDialog.Builder(this.context); builder.setMessage("Enable permission record audio") .setTitle("Message") .setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { request(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); AlertDialog dialog = builder.create(); dialog.show(); } else { request(); } } 

3) 방법 요청()

private void richiedi(){ ActivityCompat.requestPermissions((Activity) this.context, new String[]{android.Manifest.permission.RECORD_AUDIO}, MY_PERMISSIONS_REQUEST_RECORDAUDIO); } 

4) 만들기 동일한 오류 – Ankith

+0

logcat 또는 오류 게시 –

관련 문제