Как я могу установить разрешение SMS по умолчанию для моего приложения Android? - PullRequest
0 голосов
/ 28 июня 2019

Я добавил разрешения в AndroidManifest.xml и IntentFilter. В DialerActivity я создал Fragments для управления всеми SMS, контактами и журналом вызовов, которые работают нормально.

        <activity android:name=".turecaller.DialerActivity">
            <intent-filter>
                <action android:name="android.intent.action.CALL_PRIVILEGED" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="tel" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.DIAL" />

                <data android:scheme="tel" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.DIAL" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <action android:name="android.intent.action.SENDTO" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="sms" />
                <data android:scheme="smsto" />
                <data android:scheme="mms" />
                <data android:scheme="mmsto" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="text/plain" />
            </intent-filter>
        </activity>

и это мой SMS-приемник

<receiver
            android:name=".ServicesPack.SMSBroadCastReceiver"
            android:enabled="true"
            android:exported="true"
            android:permission="android.permission.BROADCAST_SMS">
            <intent-filter android:priority="998">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.provider.Telephony.SMS_DELIVER" />
            </intent-filter>
        </receiver>

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Если речь идет об OTP, для извлечения SMS вы должны использовать API Google получение SMS,

https://developers.google.com/identity/sms-retriever/overview

0 голосов
/ 28 июня 2019

Добавьте это в manifest поверх (снаружи) <application tag>

<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
...