Привет всем!!! Очень надеюсь, что тема еще живая, т.к. у гугла теперь новые требования: чтобы использовать разрешения чтения и получения смс, нужно, чтобы это было основной функцией приложения, и пользователь сам назначил это приложение обработчиком смс по-умолчанию.
Чтобы реализовывать авторизацию приложения по смс, сам гугл предлагает воспользоваться SmsRetriever, для которого данные разрешения не требуются.
Насколько, я понял, получать интент с СМС можно будет через BroadcastReceiver, реализованный в данной теме, но для этого сначала надо оптравить "заявку" SmsRetriever, чтобы он сгенерил для приложения интент с действием SmsRetriever.SMS_RETRIEVED_ACTION. У гугла для этого приводится код на яве:
// Get an instance of SmsRetrieverClient, used to start listening for a matching
// SMS message.
SmsRetrieverClient client = SmsRetriever.getClient(this /* context */);
// Starts SmsRetriever, which waits for ONE matching SMS message until timeout
// (5 minutes). The matching SMS message will be sent via a Broadcast Intent with
// action SmsRetriever#SMS_RETRIEVED_ACTION.
Task<Void> task = client.startSmsRetriever();
// Listen for success/failure of the start Task. If in a background thread, this
// can be made blocking using Tasks.await(task, [timeout]);
task.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// Successfully started retriever, expect broadcast intent
// ...
}
});
Пожалуйста, помогите, кто шарит, перевести это на дельфи. В библиотеку этот класс не импортирован:(
А еще лучше сразу скомпоновать это вместе с BroadcastReceiver в одном рабочем примере.