#android #android-preferences
#Android #android-настройки
Вопрос:
Я создал XML-файл настроек с помощью действия Android Preference следующим образом:
<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:
Вы объявили свой Activity
в файле манифеста как "EmailTara"
, но ваш класс activity вызывается "EmailAccuwx"
. Кроме того, ваш Activity
фильтр намерений отображает "com.sample.android.turboweather.EmailTara"
списки, но в ваших настройках xml вы создаете Intent
для "android.intent.action.EMAIL_TARA"
.
Комментарии:
1. хорошо … я обновил свои фрагменты кода, и теперь мое электронное письмо отправляется, но мне пришлось изменить свой класс электронной почты, чтобы расширить «SettingsActivity» вместо «Activity». Кроме того, я могу выбрать это предпочтение только один раз, оно не запускает запуск email SettingsActivity во второй раз. Теперь есть идеи?