4
在BroadcastReceiver
中,我收到拨出电话的号码。在BroadcastReceiver中获取访问权限
我想将此电话号码与存储在SQL数据库中的号码进行比较。
很遗憾,我没有在BroadcastReceiver
访问我的数据库。在其他活动中,它工作正常。
下面是BroadcastReceiver
代码:
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
//[ getting "string phonenumber" (works)]
mySQLiteAdapter = new SQLiteAdapter(context);
mySQLiteAdapter.openToRead();
sqLiteDatabase = sqLiteHelper.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT * FROM MYDATABASE_TABLE =" + potatos, null);
if(cursor.getCount() > 0) {
cursor.moveToFirst();
while(!cursor.isAfterLast()) {
cursor.moveToNext();
}
}
}
}
的代码SQLiteAdapter
public SQLiteAdapter openToRead() throws android.database.SQLException {
sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION);
sqLiteDatabase = sqLiteHelper.getReadableDatabase();
return this;
}
我打开它,它仍然没有工作:( 仍然得到一个空指针@光标光标 – user1750720
你缺少一些代码,看看到底是怎么回事,你能请出示您的整个'onReceive'或你至少在做更多的事情?你发布了'openToRead()'函数,但是你没有在代码中使用它。 – Kirk
哦,天啊,对不起,我粘贴了错误的代码>。<它的mySQLiteAdapter.openToRead();当然! 我编辑了我原来的帖子 – user1750720