Попытка отправить письмо с экрана настроек - PullRequest
1 голос
/ 07 июня 2011

Я создал XML настроек с помощью Android Preference Activity следующим образом:

<PreferenceCategory
      android:title="@string/about">

     <PreferenceScreen
            android:title="@string/customer_support"
            android:summary="@string/email_description">
            <intent android:action="com.sample.android.turboweather.EMAIL_TARA"
             />
    </PreferenceScreen>

</PreferenceCategory>

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

 <activity android:name=".EmailTara"
              android:launchMode="singleTop"
              android:screenOrientation="portrait"
              android:configChanges="keyboardHidden|orientation">
          <intent-filter>
            <action android:name="com.sample.android.turboweather.EMAIL_TARA" />
            <category android:name="android.intent.category.DEFAULT"/>

          </intent-filter>
    </activity>

А вот моя активность по электронной почте:

public class EmailAccuwx extends SettingsActivity{
    private static final int EMAIL_SUCCESS = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Tara Android Flagship Application");
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"customerservice@tara.com"});
        emailIntent.putExtra(Intent.EXTRA_TEXT, "");
        emailIntent.setType("message/rfc822");
        startActivity(Intent.createChooser(emailIntent, "Email Client Chooser");

        super.onCreate(savedInstanceState);
    }



}

Я получаю эту ошибку в logcat:

06-07 09:43:52.570: ERROR/AndroidRuntime(1517): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.EMAIL_TARA dat=customerservice@tara.com }

Любая помощь с благодарностью !!!

1 Ответ

0 голосов
/ 07 июня 2011

Вы объявили свой Activity в файле манифеста как "EmailTara", но ваш класс активности называется "EmailAccuwx". Кроме того, ваш фильтр намерений Activity перечисляет "com.sample.android.turboweather.EmailTara", но в xml ваших предпочтений вы создаете Intent для "android.intent.action.EMAIL_TARA".

...