开发者社区 问答 正文

BroadcastReceiver开放数据库

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

展开
收起
蛮大人123 2016-02-15 13:13:44 2515 分享 版权
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
    赞同 展开评论
问答标签:
问答地址: