android+数据库类型转换,ANDROID数据库错误:不兼容的类型:INT不能转换到CursorFactory...

下面是我的BroadcastReceiver类的我的全部代码,我需要访问数据库中此页......ANDROID数据库错误:不兼容的类型:INT不能转换到CursorFactory

它的“openOrCreateDatabase”得到错误,请帮助我....

如何从一个类扩展BroadcastReceiver访问数据库。 。 。 。 。

import android.app.admin.DevicePolicyManager;

import android.content.BroadcastReceiver;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.media.MediaPlayer;

import android.net.Uri;

import android.os.Handler;

import android.telephony.SmsMessage;

import android.util.Log;

import android.widget.Toast;

import android.media.AudioManager;

import android.os.Bundle;

import static android.database.sqlite.SQLiteDatabase.openOrCreateDatabase;

public class RecieveSMS extends BroadcastReceiver {

public static final String SMS_BUNDLE = "pdus";

SQLiteDatabase db;

DevicePolicyManager devicePolicyManager;

ComponentName demoDeviceAdmin;

static final String TAG = "DevicePolicyDemoActivity"; //TAG Property

MediaPlayer mp, mpVibrate , mpRing ;

private static String PATH = "/data/data/com.example.controlmob/databases/";

private static String DB_NAME = "myDataBase.db";

@Override

public void onReceive(Context context, Intent intent) {

Bundle intentExtras = intent.getExtras();

if (intentExtras != null) {

Object[] sms = (Object[]) intentExtras.get(SMS_BUNDLE);

assert sms != null;

for (Object sm : sms) {

SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sm);

devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);

demoDeviceAdmin = new ComponentName(context, DemoDeviceAdminReceiver.class);

db = SQLiteDatabase.openOrCreateDatabase(DB_NAME,Context.MODE_PRIVATE, null);

String smsBody = smsMessage.getMessageBody();

/*---temp : data For test----*/

if (smsBody.contains("[email protected]") || smsBody.contains("[email protected]") || smsBody.contains("[email protected]")) {

final String slt = smsMessage.getMessageBody();

final String bf = slt.split("@")[0].toLowerCase();

final String af = slt.split(("@"))[1].toLowerCase();

Toast.makeText(context, bf, Toast.LENGTH_SHORT).show();

if (bf.trim().length() == 0)

{

Toast.makeText(context, "NO DATA...", Toast.LENGTH_LONG).show();

return;

}

else {

Cursor cn = db.rawQuery("SELECT * FROM myTable WHERE passcode='" + bf + "'", null);

if (cn.moveToFirst())

{

}

}

AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

am.setRingerMode(AudioManager.RINGER_MODE_SILENT);

} else if (smsBody.contains("ring") || smsBody.contains("RING") || smsBody.contains("Ring")) {

AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

mpRing = MediaPlayer.create(context,R.raw.status_ring);

mpRing.start();

} else if (smsBody.contains("vibrate") || smsBody.contains("VIBRATE") || smsBody.contains("Vibrate")) {

AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

mpVibrate = MediaPlayer.create(context,R.raw.status_vibration);

mpVibrate.start();

} else if (smsBody.contains("callme") || smsBody.contains("CALLME") || smsBody.contains("CallMe")) {

Intent in = new Intent(Intent.ACTION_CALL, Uri.parse("tel:8907417383"));

in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

try {

context.startActivity(in);

} catch (android.content.ActivityNotFoundException ex) {

Toast.makeText(context, "yourActivity is not founded", Toast.LENGTH_SHORT).show();

}

} else if (smsBody.contains("resetpass") || smsBody.contains("RESETPASS") || smsBody.contains("ResetPass")) {

Toast.makeText(context, "Locking device...", Toast.LENGTH_LONG).show();

Log.d(TAG, "RESETing device now - all user data will be ERASED to factory settings");

devicePolicyManager.resetPassword("qwerty", DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);

devicePolicyManager.lockNow();

} else if (smsBody.contains("play") || smsBody.contains("PLAY") || smsBody.contains("Play")) {

AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

am.setStreamVolume(AudioManager.STREAM_MUSIC,am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);

mp = MediaPlayer.create(context, R.raw.play_alert);

mp.start();

// wait 5 sec... then stop the player.

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

mp.stop();

}

}, 10000);//millisec.

}

Toast.makeText(context, smsBody, Toast.LENGTH_SHORT).show();

}

}

}

}

2016-03-18

trainer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值