Мое приложение отображается как опция при выборе приложения для электронной почты. - PullRequest
1 голос
/ 26 апреля 2019

Манифест:

<activity android:name=".MainActivity" android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SENDTO" />
        <data android:scheme="mailto" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

Фрагмент:

class OptionsFragment : PreferenceFragmentCompat(), Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener  {

    override fun onPreferenceClick(preference: Preference): Boolean {
        when (preference.key){
            "contact_developer" -> {
                Log.d("PreferenceEnabled", "contacteddeveloper")
                val intent = Intent(Intent.ACTION_SENDTO).apply {
                    type = "*/*"
                    putExtra(Intent.EXTRA_SUBJECT, "Enquiry")
                    data = Uri.parse("mailto:")
                }
                startActivity(intent)
            }
        }
        return true
    }

При нажатии на мой Preference запускается намерение по электронной почте.Тем не менее, мое приложение появляется в настройках (вместе с другими приложениями электронной почты).

data = Uri.parse("mailto:") предназначено для фильтрации целевых приложений только по электронной почте.

Почему мое приложение является рекомендуемым приложением электронной почты?

1 Ответ

3 голосов
/ 26 апреля 2019

Почему мое приложение является рекомендованным приложением электронной почты?

Потому что вы вставили <intent-filter>, сказав, что хотите ответить на эти Intents.

Если это не то, что вы хотите, удалите:

<intent-filter>
    <action android:name="android.intent.action.SENDTO" />
    <data android:scheme="mailto" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...