первый вопрос здесь ... У меня есть эта практика из моего колледжа, но курс иногда не объясняет все, и это о трансляции и получении сообщения Тост.
(Некоторые вещи будут в испанском sh)
Видите ли, первое приложение, которое имеет представление с кнопкой: Представление активности
Единственное, что он делает, это отправляет сообщение через кнопку, и OnClick связал этот метод, который находится в Activity, с именем Emisora. java (нет основной операции, но он настроен для этой операции запуска) :
public void Emision(View v){
Intent intent = new Intent();
intent.setAction("com.tecmilenio.practica91");
intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent);
}
Манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tecmilenio.practica91">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Emisora">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
Затем у меня есть другое приложение, которое не имеет активности, но у него есть Broadcast Reciever:
package com.tecmilenio.receptor;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class BroadcastReceptor extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Transmission Recieved", Toast.LENGTH_SHORT).show();
}
}
(я знаю, что тост за это не лучшая практика, но только для практики курса)
И его Манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tecmilenio.receptor">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<receiver
android:name=".BroadcastReceptor"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.tecmilenio.practica91"/>
</intent-filter>
</receiver>
</application>
</manifest>
И когда я установить и выполнить первый, просто ничего не происходит ж, я нажимаю кнопку, но ничего не происходит.
Затем я позже увидел, что во втором проекте (приемнике), когда я выполняю его из Android Studio, приложение не появляется в телефоне, не выполнять ничего, но я думал, что это нормально из-за отсутствия активности в нем. Затем я также увидел, что при выполнении через студию консоль запуска также отправляет мне сообщение «Превышено время ожидания процесса (com.tecmilenio.receptor) для появления на xiaomi-mi_8-2ef63c6e.» , возможно это есть что-то (?)
Буду признателен, если кто-нибудь мне это объяснит ... Спасибо!
Обновление
Я обнаружил, что проблема должна быть связана с тем, что тайм-аут при запуске, добавление действия без чего-либо и запуск этого действия, заставляет его работать, однако это не то, что он должен делать, предполагается, что он не должен иметь никакой активности и должен выполняться OnRecieve, когда приложение «Practica91» отправляет сообщение ... Есть ли способ сделать это?