开发者社区> 问答> 正文

BroadcastReceiver开放数据库

创建了一个类管理SQLite数据库,核心代码如下:
screenshot
然后创建了另一个类,是一个SMS监听器(extend BroadcastReceiver),然后想用下面代码在这类中创建数据库,但是没实现:
db = new Database(this);
报错信息如下:
screenshot
怎么样能在SmsListener类中开放一个数据库连接?

展开
收起
蛮大人123 2016-02-15 13:13:44 2430 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    BroadcastReceiver中的onReceive()方法 method得到一个 Context。

    @Override
    public void onReceive(Context context, Intent intent){
        db = new Database(context);
        //more stuff
    }

    要知道在BroadcastReceiver中执行时间最多为10秒,如果超时,android就会终止Receiver。因此需要快速完成操作,如何数据库操作时间很长,就试试用单独的线程。

    2019-07-17 18:43:10
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载