我想使用广播接收器在固定时间调用此方法的警报
/**
* Delete all messages
*/
private void performDeleteAll() {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(getString(R.string.confirm_message))
.setCancelable(false)
.setNegativeButton(getString(R.string.confirm_no),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.setPositiveButton(getString(R.string.confirm_yes),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// delete all messages
mHandler.post(mDeleteAllMessages);
adapter.refresh();
}
});
AlertDialog alert = builder.create();
alert.show();
}
删除所有消息,但没有发生,请提前帮我谢谢
/***删除所有消息。0-成功删除。1-没有要*删除的内容。*/
final Runnable mDeleteAllMessages = new Runnable() {
public void run() {
getActivity().setProgressBarIndeterminateVisibility(true);
boolean result = false;
int deleted = 0;
if (adapter.getCount() == 0) {
deleted = 1;
} else {
result = model.deleteAllMessages();
}
try {
if (deleted == 1) {
toastLong(R.string.no_messages_to_delete);
} else {
if (result) {
toastLong(R.string.messages_deleted);
showMessages();
} else {
toastLong(R.string.messages_deleted_failed);
}
}
getActivity().setProgressBarIndeterminateVisibility(false);
} catch (Exception e) {
return;
}
}
};
我正在使用这个广播接收器
public class AlarmReceiver extends BroadcastReceiver implements Runnable {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(context, "Import Messages Invoke ",Toast.LENGTH_LONG).show();
// context.startService(new Intent(context,ImportMessagesTask.class));
MessagesModel.deleteAllMessages();{
// new MessagesModel().deleteAllMessages();
Database.mMessagesContentProvider.deleteAllMessages();
}
// mHandler.post(mDeleteAllMessages);
// adapter.refresh();
正如你所说我做了我创建了一个活动
公共类Active扩展PendingMessages实现Runnable{
/**
* Delete all messages. 0 - Successfully deleted. 1 - There is nothing to be
* deleted.
*/
@Override
public void run() {
// TODO Auto-generated method stub
getActivity().setProgressBarIndeterminateVisibility(true);
boolean result = false;
int deleted = 0;
if (adapter.getCount() == 0) {
deleted = 1;
} else {
result = model.deleteAllMessages();
}
try {
if (deleted == 1) {
toastLong(R.string.no_messages_to_delete);
} else {
if (result) {
toastLong(R.string.messages_deleted);
showMessages();
} else {
toastLong(R.string.messages_deleted_failed);
}
}
getActivity().setProgressBarIndeterminateVisibility(false);
} catch (Exception e) {
return;
}
}
}
然后打电话过去
context.start服务(新意图(上下文,Activity.class));
但它不工作,然后我打电话给它
上下文startActivity(新意图(上下文、活动、类));
然后它的力量关闭,我没有得到任何帮助,请让我更正,提前谢谢
实际上,问题是我想在后台运行UI,但在Android中不可能。然后我使用服务在后台运行
无法从广播接收器显示UI。
将上述代码放入活动中,并从BroadcastReceiver启动活动
编辑:使用
context.startActivity(intent);
启动活动
问题内容: 有人可以解释和之间的确切区别吗? 在什么情况下我们必须使用每个Receiver类? 问题答案: 和之间只有一个区别。 当您收到内部广播方法时, 假设, BroadcastReceiver : 它 不保证 该 CPU将保持清醒 ,如果你启动一些长时间运行的进程。CPU可能会立即回到睡眠状态。 WakefulBroadcastReceiver : 这是 保证 该 CPU将保持清醒 ,直到你
我在这里读了这个答案,也在这里读了这个答案,我正在努力找出最适合我的情况。 我在中启动一个服务,在这里我发出一个HTTP请求,并得到一个作为响应。然后我广播这个,并在我的活动中接收它。 问题是,用户显然可以通过打开抽屉并选择一个选项导航到另一个活动,而我可能会错过广播。 很明显,我可以让我的所有活动扩展一个抽象类,这个抽象类扩展了这里提到的,但我不能100%肯定这是最好的解决方案。如果用户在我收到
我刚把Nexus5更新到Android6,直到现在我的应用程序还能正常工作,但现在广播接收器却不工作了。新版本有什么变化吗?这是我试过的在以前的版本上工作的代码,但在Marshmallow中不行- Android清单 同样,PHONE_STATE的广播接收器也不工作。
嗨,我试图捕捉短信内容和使用我的应用程序,所以我做了一个广播接收器与许可和清单,但当设备接收短信,我的代码不运行,这意味着广播接收器不发射。我也查了这里里里外外的很多文章,有一些: Android短信接收结果到主要活动短信接收不工作 我还尝试在活动onCreate()中动态注册接收器,但没有任何变化 有人知道问题出在哪里吗?它应该只是庆祝一个消息被累犯,这样我就可以继续工作,但接收器似乎甚至没有发
本文向大家介绍Android中的广播和广播接收器代码实例,包括了Android中的广播和广播接收器代码实例的使用技巧和注意事项,需要的朋友参考一下 BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播 1.定义一个广播接收器 2.发送广播,定义好action标志,用Intent发送 3.注册只接收指定action的广播接收器 4.取消该广播接收器
我正在尝试设置一个类来接收短信和发送状态。以下是我的清单如何查找此任务: 我收到了收到的消息,但没有收到发送的消息,我的清单声明有问题吗?