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
@MikeM Target Version SDKはbuild.gradleの23に設定されています。電話の許可ダイアログだけが表示され、残りは表示されません。 –
ええ、私はちょうど 'CALL_PHONE'が動作すると述べたことに気付きました。あなたはSMSを送ることができますか?つまり、実際に許可を得ていますか? Btw、 'RECEIVE_BOOT_COMPLETED'は危険な権限ではないので、実行時に要求する必要はありません。 –
いいえ、SMSを送信できません。コントロールはelseパーツに入り、表示せずに動きます。 –