Я экспериментирую, указывая свое собственное действие для использования в неявном намерении. В одном пакете я определяю два действия. ActivityTwo вызывается из onClick() в ActivityOne, используя неявное намерение с действием «course.labs.activitylab.MY_ACTION». Но я не смог заставить его работать.Неявное намерение с заданным пользователем действием
В strings.xml:
<string name="myfunnystring">course.labs.activitylab.MY_ACTION</string>
В AndroidManifest.xml:
<activity
android:name=".ActivityTwo"
android:label="@string/title_activity_activity_two" >
<intent-filter>
<action android:name="@string/myfunnystring" />
</intent-filter>
</activity>
В OnClick() в OnClickListener() в OnCreate() в ActivityOne.java:
Intent intent = new Intent();
intent.setAction(getString(R.string.myfunnystring));
intent.setFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION);
startActivity(intent);
Программа вылетает из эмулятора, и я нахожу это в окне logcat:
android.content.ActivityNotFoundException: нет активности найдено обрабатывать Intent {акт = course.labs.activitylab.MY_ACTION FLG = 0x8}
Что я делаю неправильно?
Я думаю, вы не можете использовать строковый ресурс в имени действия. – tachyonflux
Это исправление. Хорошо, поэтому я допустил две ошибки. Я использовал строковый ресурс в имени действия в фильтре. IDK, почему это не должно работать, и если это не сработает, IDK, почему он не обнаружен во время сборки. И я не смог присвоить категорию фильтру намерения. Спасибо, караоке. –
Эти два требования объясняются на http://developer.android.com/guide/components/intents-filters.html –