我开始学习android开发,所以我的知识目前真的很有限。我正在尝试播放广播,但我被卡住了,我无法理解我做错了什么。我正在尝试做的只是从广播接收器显示一个简单的 Toast。
Intent 是清单中定义的自定义意图:
<receiver android:name=".receiver.SendReceiver" android:enabled="true">
<intent-filter>
<action android:name="com.android.terralink.sem.SOCCIA"></action>
</intent-filter>
</receiver>
接收器定义如下:
public class SearchReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent){
Toast.makeText(context, "asasa", Toast.LENGTH_SHORT).show();
}
}
在从应用程序调用的第一个操作中,我这样做:
Intent i2 = new Intent(this, SearchReceiver.class);
i2.setAction(CUSTOM_INTENT);
sendBroadcast(i2);
我检查了 Toast 代码在 Activity 中有效,但在广播中无效。是因为 Toast 不能在接收者上下文中显示?
另外,另一个关于android应用程序结构的问题。如果从我的 Activty 我允许用户在文本框中插入字符串并提交(按钮绑定),并且我希望应用程序在后台进行搜索并在结果准备好后通知用户,那么以下操作是否正确?1) 带有搜索框的主 Activity 2) 启动一个获取数据的服务,发送广播 3) 接收器通知用户并打开一个显示结果的 Activity
做这样的事情有意义吗?或者通知应该由服务本身在完成工作之前完成?
谢谢