我有一个里面有片段和IntentService的活动。当我单击按钮对话框片段打开,我输入我的数据。之后,我单击确定,它调用getActive()。启动服务(意图)。服务通过本地广播管理器调用sendBroadcast(意图),但没有调用onAccess()方法。怎么了?这是我的广播接收器
private BroadcastReceiver mApiBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("tag", intent.getAction());
switch (intent.getAction()) {
case "register":
showMessage(intent.getStringExtra(ApiService.EXTRA_ANSWER));
break;
case "authorize":
showProfile((User) intent.getParcelableExtra(ApiService.EXTRA_USER));
break;
default:
break;
}
}
};
我在这里登记
@Override
protected void onResume() {
super.onResume();
LocalBroadcastManager.
getInstance(this).
registerReceiver(mApiBroadcastReceiver, new IntentFilter(ApiService.API_BROADCAST));
}
我的记忆法
@Override
protected void onPause() {
super.onPause();
LocalBroadcastManager.getInstance(this).unregisterReceiver(mApiBroadcastReceiver);
}
还有我在服务中发送广播的方法
private void sendMessage(Object answer) {
Intent intent = new Intent(API_BROADCAST);
if (answer instanceof String) {
intent.setAction("register");
Log.d("tag", answer.toString());
intent.putExtra(EXTRA_ANSWER, answer.toString());
} else if (answer instanceof User) {
intent.setAction("authorize");
intent.putExtra(EXTRA_USER, (User) answer);
}
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
您不应该调用intent。setAction()
。
您正在使用actionApiService倾听意图。API_广播
:
新意图(ApiService.API_BROADCAST)
这是可以的,但是如果您稍后调用intent.setAction("注册")
,您将重写您设置的第一个操作。
相反,尝试将子操作字符串作为额外的传递:
private void sendMessage(Object answer) {
Intent intent = new Intent(API_BROADCAST);
if (answer instanceof String) {
intent.putExtra(EXTRA_WHAT, "register");
intent.putExtra(EXTRA_ANSWER, answer.toString());
} else if (answer instanceof User) {
intent.putExtra(EXTRA_WHAT, "authorize");
intent.putExtra(EXTRA_USER, (User) answer);
}
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
我是android开发的初学者。我正在尝试制作一个SMS计划程序。我的应用程序的广播接收器的onReceive()方法没有被调用?下面给出了我的源代码。我看了一些其他的链接,像基本的Android报警应用程序,广播接收器的onReceive()方法没有被调用请,我想知道我哪里做错了。提前谢谢。 > homepage.java } TimePickerFragment.java {public Ca
我想在地图活动中添加标记,它的位置是从Firebase实时数据库中检索到的。 我尝试在和方法中实现,并且当用户登录时(尽管没有错误,但它们都不起作用),我还使用logcat显示位置坐标,但它的值不显示。 这是我的数据库
问题内容: 我只是实现了继承JPanel的类,如下所示 Orpanel类正在加载图像并调整其自身大小。 这是问题。 调用JFrame的setContentpane(Orpanel的实例)使其工作正常,但是当我将Orpanel附加到JFrame时,调用add()方法而不是setContentpane(我知道setcontentpane并不意味着attach ..反正),它就行不通了。 终于弄清楚了当
我已经尝试了这个平台上提供的所有答案,但没有成功。我正在执行这个命令行运行程序,但是run方法没有调用。 我感谢你的帮助。 谢谢 我尝试了以下解决方案,但得到了这个例外。 第一:在您的引导类(具有SpringApplication.run(…,args)的主方法的类)中,您可以在@SpringBootApplication注释处添加属性scanBasePackages: @SpringBootAp
问题内容: 我正在尝试对页面登录进行编码,但在此错误中我处于停止状态 PLIZ在这里告诉我错了事 问题答案: 用于准备的语句。例如 您正在尝试直接在主数据库对象上执行查询。对于PDO,这意味着 您确实应该研究准备好的语句。您很容易受到SQL注入攻击的影响,并且由于您从一开始就使用PDO,因此不编写安全查询基本上是不可原谅的。
问题内容: 这是我的代码: 我在最后一行收到以下错误: 调用未定义的方法mysqli_stmt :: get_result() 这是conn.php的代码: 如果我写这行: 打印 “未准备的声明” 。如果我直接在IDE中运行查询替换?用值标记,效果很好。请注意,$ conn对象在项目中的其他查询中可以正常工作。 请帮忙....... 问题答案: 请阅读此方法的用户说明: http://php.ne