2
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_GRANTED) { 
     try { 
      Cursor temp = db.rawQuery("Select name from profile;", null); 
      temp.moveToFirst(); 
      Toast.makeText(TrustedContacts.this, ""+c.getString(2), Toast.LENGTH_SHORT).show(); 
      (SmsManager.getDefault()).sendTextMessage("0"+c.getString(2), null, "Automated SMS by Medical Alert App by " + temp.getString(0), null, null); 
      Toast.makeText(TrustedContacts.this, "SMS Sent!", Toast.LENGTH_SHORT).show(); 
     } 
     catch (Exception e) 
     { 
      Toast.makeText(TrustedContacts.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show(); 
     } 
    } else 
     ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, 1); 

許可管理者がSMSを送信する際のコードですが、[許可]ダイアログボックスは表示されません。許可ダイアログが表示されないAndroid 6.0.1(Marshmallow)

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.SEND_SMS"/> 
<uses-permission android:name="android.permission.CALL_PHONE" /> 

私はマニフェストファイルにも権限を追加しました。 Receive Boot Complete Permissionの同じシナリオ。ただし、Call_Phone Permissionは完全に機能します。問題を特定できません。あなたはその後、マシュマロでのみ許可を取って(お問い合わせをREAD、SMSを送信する)のようなプライバシーの問題を引き起こす可能性があり、そのユーザの視点のために非常に重要である、あなたのアプリケーションにいくつかのDANGEROUS PERMISSIONをとっている場合は のAndroidメーカーTargetAPI 23とMinAPIは15

+0

@MikeM Target Version SDKはbuild.gradleの23に設定されています。電話の許可ダイアログだけが表示され、残りは表示されません。 –

+0

ええ、私はちょうど 'CALL_PHONE'が動作すると述べたことに気付きました。あなたはSMSを送ることができますか?つまり、実際に許可を得ていますか? Btw、 'RECEIVE_BOOT_COMPLETED'は危険な権限ではないので、実行時に要求する必要はありません。 –

+0

いいえ、SMSを送信できません。コントロールはelseパーツに入り、表示せずに動きます。 –

答えて

関連する問題