如何传递具有Intent

时间:2017-02-21 11:38:23

标签: android sqlite android-activity broadcastreceiver android-pendingintent

我有alarm(重复警报)和BroadcastReceiver来处理它。警报在我的activity中设置,其中涉及BroadcastReceiver类的待定意图。我的活动中有一个sqlite数据库。我想在警报中更新我的sqlite数据库,所以我需要从我的活动中获取sqlite对象。我的asynctask也需要它,这也是我的警报中执行的。我怎样才能做到这一点? 简而言之,我想将我的活动对象传递给我的广播构造函数,以便我可以使用我的sqlite实例。

编辑:我注意到如果我在我的活动中定义BroadcastReciever,我可以将其称为 MyActivity.this 这么简单。还有其他方式,而不是这个。

1 个答案:

答案 0 :(得分:1)

你不能在“广播接收者”中做太多工作。

打算你必须创建一个服务类来执行此操作并从' broadcastreceiver'中调用服务。 。然后在Service

中编写您的DataBase代码

在服务中,您可以创建' sqlite' DataBase getApplicationConext()对象通过AsyncTask

同样在Service中必须为您的工作创建单独的线程或使用![Alt Text](https://media.giphy.com/media/vFKqnCdLPNOKc/giphy.gif)进行数据库操作。