Добавяне на филтър за намерения за слушане на ACTION_VIEW при SMS събития

Пиша приложение за SMS и то слуша всички промени на AndroidManifest, необходими за SMS приложения над Kitkat според Блог на Google. Опитвах се да ACTION_VIEW заявки, свързани и със SMS. Нещо от този формат.

Intent intent = new Intent(Intent.ACTION_VIEW);
   intent.setData(Uri.parse("content://mms-sms/conversations/" + msg.thread_id));
   mContext.startActivity(intent);

Това е екранът, който се показва за това обаждане.

Диалогов прозорец за избор на действие

За това обаждане други SMS приложения се показват в диалоговия прозорец за избор на действие, но не и моето приложение. Каква е схемата, която трябва да се добави към манифеста, за да изброя приложението си към това. Това е моята част от манифеста, съдържаща филтъра за намерения.

<intent-filter>
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SENDTO" />
            <action android:name="android.intent.action.VIEW" />
            <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>

person Codevalley    schedule 20.02.2015    source източник


Отговори (1)


Трябва само да добавите свойството android:exported във вашия файл Manifest.xml. Свойството android:exported="true" ще позволи вашата дейност да бъде видима отвъд границата на вашето приложение, така че другото приложение да може да извика вашата дейност, за да разреши подобно намерение. Добавете цялото си споменато свойство към вашата активност, като следното, и приложението ви също ще се появи на екрана за разрешаване на намерения. Кодът на манифеста е по-долу. Прилагам и екранна снимка с моя отговор.

Дизайн на манифеста ---->

<activity android:name=".activities.Experimental"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <action android:name="android.intent.action.SENDTO" />
        <action android:name="android.intent.action.VIEW" />
        <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>

</activity>

Ето екранната снимка, където моето приложение Hoster се показва като избор.

person Abhishek    schedule 23.02.2015