Профиль Android Work: android.intent.action.DATA_SMS_RECEIVED никогда не запускался

Я работаю над приложением, которое обменивается данными с серверной частью по SMS (на самом деле SMS с данными).

Исходящие и входящие SMS отлично работают при обычной настройке, однако у одного из наших пользователей включен рабочий профиль Android, и приложение установлено в рабочем профиле.

Теперь приложение не получает намерение DATA_SMS_RECEIVED. Я пытался найти какую-либо документацию по этому поводу, но не нашел. Есть ли что-то особенное, что мне нужно сделать, чтобы DATA_SMS_RECEIVED работал с рабочим профилем?

Вот соответствующее объявление манифеста:

<receiver android:name=".broadcastreceiver.SmsReceived" android:exported="true" >
    <intent-filter>
        <action android:name="android.intent.action.DATA_SMS_RECEIVED" />
        <data android:scheme="sms" />
        <data android:port="1234" />
    </intent-filter>
</receiver>

А вот соответствующий код из BroadcastReceiver

public class SmsReceived extends BroadcastReceiver{
    private static final String DATA_SMS_RECEIVED_ACTION = "android.intent.action.DATA_SMS_RECEIVED";

    @Override
    public void onReceive(Context context, Intent intent) {
        try{
            if(intent.getAction().equalsIgnoreCase(DATA_SMS_RECEIVED_ACTION)){
                //Code here is not executed when installed in work profile
            }
        }catch(Exception e){

        }
    }
}

Обратите внимание: это внутреннее приложение, и новые ограничения на SMS для Android не применяются.

0 ответов

Другие вопросы по тегам