Запуск пользовательских неявных намерений

Установлены два действия, в которых на устройстве установлены следующие файлы манифеста:

Активность первого приложения имеет в своем манифесте: – где, package="com.example.tictactoe"

 <intent-filter> <action android:name="com.example.tictactoe.YOYO" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/*" /> </intent-filter> 

Активность второго приложения в своем манифесте: – где,
package="com.example.project"

  <intent-filter> <action android:name="com.example.project.YOYO" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/*" /> </intent-filter> 

Теперь я хочу начать одно из этих действий из третьего приложения, используя следующий код:

 i=new Intent(); i.setAction("YOYO"); i.putExtra("KEY","HII..i am from third app"); startActivity(i); 

Но выполнение показывает ошибку: –

 03-11 08:12:30.496: E/AndroidRuntime(1744): FATAL EXCEPTION: main 03-11 08:12:30.496: E/AndroidRuntime(1744): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=ACTION_SEND (has extras) } 

Необходимо указать полное имя действия ; Поставьте mimeType, который вы использовали в манифесте, вызвав setType () в ваших намерениях.

Манифест:

 <intent-filter> <action android:name="com.example.tictactoe.YOYO" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> 

Ява :

 Intent i=new Intent(); i.setAction("com.example.tictactoe.YOYO"); i.setType("text/plain"); i.putExtra("KEY","HI..i am from third app"); startActivity(i); 

Вам необходимо выполнить все действия:

 i=new Intent(); i.setAction("com.example.tictactoe.YOYO"); i.putExtra("KEY","HII..i am from third app"); startActivity(i); 

Или (в зависимости от того, какой проект вы хотите запустить):

 i.setAction("com.example.project.YOYO"); 

Вы можете сделать это также через: (действие поставки непосредственно в конструкторе)

 i=new Intent("com.example.tictactoe.YOYO"); i.putExtra("KEY","HII..i am from third app"); startActivity(i); 

Также потеряйте данные mimeType или прочитайте, как его использовать. Потому что через putExtra не будет работать.

Прежде всего, вам нужно убедиться, что имя намерения – это полное имя с именем пакета, то же самое в фильтре намерения и в действии, уволяющем намерение. В этом случае: «YOYO» должен быть «com.example.tictactoe.YOYO». Вы также должны удалить тип mime, так как вы не включаете данные в setData (), в этом случае вы используете пакет. Поэтому вы должны иметь для деятельности, уволяющей намерение:

НАПРАВЛЕНИЕ ДЕЯТЕЛЬНОСТИ

 i=new Intent(); i.setAction("com.example.tictactoe.YOYO"); i.putExtra("KEY","HII..i am from third app"); startActivity(i); 

И для записи активности приема в манифесте: вам необходимо убедиться, что вы выбрали категорию как DEFAULT и удалили тег типа данных.

АКТИВНОСТЬ ПОЛУЧЕНИЯ ИНТЕНТА

 <intent-filter> <action android:name="com.example.tictactoe.YOYO" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 
Intereting Posts
Как получить доступ к переменной экземпляра внутри BindingAdapter при использовании привязки данных Android? Как разобрать двойной из EditText в TextView? (Android) Android Seek Bar в строке состояния Как узнать, какая SIM-карта получила SMS в устройстве Dual SIM Android Ошибка «Не удается найти собственную библиотеку» в приложении «Нативная активность» Как использовать SQLite из служб на Android? Как получить идентификатор выбранного элемента в динамическом Spinner? Сохранение потоков и состояния соединения в приложении Android с помощью onSaveInstanceState? Как использовать пользовательский файл android.media.MediaDataSource вместе с android.media.MediaPlayer? Новый интерфейс Google Now и Google+ Как определить, запущено ли какое-либо собственное приложение в android Как вы можете получить доступ к содержимому баз данных Android Emulator? Android Drawer Layout не может найти R.layout.drawer_list Android-программирование: GCMIntentService Застрял в WakeLock Android: поврежден TextView с использованием .setShader ()