棉花糖应用程序不起作用



这是我的gradle文件。

它在棉花糖下工作正常,但在棉花糖中它不起作用,我没有收到任何错误。

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.example.project"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.21.7'
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'com.google.android.gms:play-services:8.1.0'
        compile 'org.apache.httpcomponents:httpcore:4.4.4'
        compile 'com.android.support:appcompat-v7:25.3.1'
        compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28'
        compile 'com.google.code.gson:gson:2.7'
        compile 'com.google.maps.android:android-maps-utils:0.4.3'
        compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }

从 android 6.0(API 级别 23)开始,您需要在清单中声明权限,并在运行时中检查 anc 请求它们。

按照谷歌的本教程进行操作:https://developer.android.com/training/permissions/requesting.html

或者您可以使用我的库轻松处理它们。 https://github.com/nabinbhandari/Android-Permissions

使用这样的代码!例如,此代码请求用户允许在 AudioRecordFragment 中录制音频。

我认为您在权限方面有问题。你没有写出你的应用程序到底做了什么!

@TargetApi(Build.VERSION_CODES.M)
private void tryStart() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) 
    {
        final int checkAudio = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.RECORD_AUDIO);
        final int checkStorage = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE);
        if (checkAudio != PackageManager.PERMISSION_GRANTED || checkStorage != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.RECORD_AUDIO)) {
                showNeedPermissionsMessage();
            } else if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                showNeedPermissionsMessage();
            } else {
                requestPermissions(new String[]{
                                Manifest.permission.RECORD_AUDIO,
                                Manifest.permission.WRITE_EXTERNAL_STORAGE},
                        REQUEST_CODE_PERMISSIONS);
            }
        } else {
            DoSomeThing();
        }
    } else {
            DoSomeThing();
    }
}
@Override
public void onRequestPermissionsResult(final int requestCode, @NonNull final String[] permissions, @NonNull final int[] grantResults) {
    switch (requestCode) {
        case REQUEST_CODE_PERMISSIONS:
            boolean userAllowed = true;
            for (final int result : grantResults) {
                userAllowed &= result == PackageManager.PERMISSION_GRANTED;
            }
            if (userAllowed) {
                DoSomeThing();
            } else {
                showNeedPermissionsMessage();
            }
            break;
        default:
            break;
    }
}

最新更新