Я относительно новичок в Android, поэтому любая помощь будет принята с благодарностью.Я написал простое приложение каталога, чтобы перечислить контакты нашей организации.Выбрав контакт, вы можете нажать одну из двух кнопок: Позвонить или Текст.При нажатии кнопки вызова он инициирует телефонный звонок этому человеку, а когда при нажатии кнопки «Текст» - SMS-сообщение, адресованное этому человеку.Вот мой код:
private void makePhoneCall() {
if (ContextCompat.checkSelfPermission(EntryDetailActivity.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(EntryDetailActivity.this,
new String[] {Manifest.permission.CALL_PHONE}, REQUEST_CALL);
} else {
String dial = "tel:" + currentPhoneNumber;
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(dial)));
}
}
private void sendSMS() {
if (ContextCompat.checkSelfPermission(EntryDetailActivity.this,
Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(EntryDetailActivity.this,
new String[] {Manifest.permission.SEND_SMS}, REQUEST_SMS);
} else {
String dial = "sms:" + currentPhoneNumber;
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(dial)));
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CALL) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
makePhoneCall();
} else {
Toast.makeText(this, "Please grant permission to make call!", Toast.LENGTH_SHORT).show();
}
}
if (requestCode == REQUEST_SMS) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
sendSMS();
} else {
Toast.makeText(this, "Please grant permission to send text messages!", Toast.LENGTH_SHORT).show();
}
}
}
А вот что у меня есть в файле AndroidManifest.xml:
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
После отправки в магазин Google Play я получаю уведомление по электронной почте от Google, заявляющее:
Требуется действие
Ознакомьтесь с политикой разрешений и статьей справочного центра Play Console, в которой описываются предполагаемое использование, исключения, недопустимое использование и альтернативные варианты использования разрешений журнала вызовов или SMS., чтобы определить, какой из следующих параметров применим к вашему уязвимому приложению:
Вариант 1) Ваше приложение не требует доступа к разрешениям журнала вызовов или SMS: удалите указанные разрешения из манифеста вашего приложения или перенеситек альтернативному внедрению к 9 января 2019 года. Если вам требуется дополнительное время для удаления разрешений или перехода на альтернативный вариант, отправьте форму декларации разрешений, чтобы запросить продление до 9 марта 2019 года.
Вариант 2) Вашприложение является обработчиком по умолчанию, или вы считаете, что ваше приложение соответствует требованиямили исключение: если вы еще этого не сделали, отправьте запрос с помощью формы декларации о разрешениях до 9 января 2019 года. В настоящее время мы рассматриваем представленные материалы и ответим на ваш запрос.Примечание. Вам не нужно вносить изменения в свое приложение, чтобы иметь право подать запрос.Убедитесь, что ваше приложение в остальном совместимо со всеми другими политиками программ для разработчиков, чтобы предотвратить его удаление.
Мы ценим вашу постоянную поддержку, чтобы сделать Google Play положительным опытом как для разработчиков, так и для наших пользователей.
Что я делаю не так?