0

Android Lollipop で携帯電話を使用している場合はすべての機能が正常に動作しますが、Android Marshmallow または Jelly Bean アプリを使用している場合はクラッシュします。

アプリ モジュールのビルド gradle ファイルは次のとおりです。

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
    applicationId "com.example.k.sms"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}

これは、Android Marshmallow を使用してエミュレーターでアプリをテストしたときのログキャットです。

12-26 19:10:41.860 18000-18000/com.example.k.sms D/AndroidRuntime: Shutting down VM
   12-26 19:10:41.860 18000-18000/com.example.k.sms E/AndroidRuntime: FATAL EXCEPTION: main
                                                                      Process: com.example.k.sms, PID: 18000
                                                               java.lang.SecurityException: Sending SMS message: uid 10057 does not have android.permission.SEND_SMS.
                                                                   at android.os.Parcel.readException(Parcel.java:1599)
                                                                   at android.os.Parcel.readException(Parcel.java:1552)
                                                                   at com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:768)
                                                                   at android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:310)
                                                                   at android.telephony.SmsManager.sendTextMessage(SmsManager.java:293)
                                                                   at com.example.k.sms.MainActivity$3.onClick(MainActivity.java:149)
                                                                   at android.view.View.performClick(View.java:5198)
                                                                   at android.view.View$PerformClick.run(View.java:21147)
                                                                   at android.os.Handler.handleCallback(Handler.java:739)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
4

2 に答える 2

0

ロリポップおよびその他の下位バージョンのマニフェストで SMS 権限を提供し、Android のランタイム権限で説明されているように、ロリポップよりも上位のマシュマロ権限チェックを追加します

于 2016-12-28T06:01:28.920 に答える