Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于类型Service_类 ,managedQuery方法未定义;Service_class.java_Java_Android_Sqlite - Fatal编程技术网

对于类型Service_类 ,managedQuery方法未定义;Service_class.java

对于类型Service_类 ,managedQuery方法未定义;Service_class.java,java,android,sqlite,Java,Android,Sqlite,这可能是什么原因?我们只是尝试在下面的服务类中查询浏览器历史记录,但是eclipse生成了错误对于类型service\u class service\u class.java,managedQuery方法未定义 我们曾试图遵循eclipse的建议,但它完全打开了另一个蠕虫罐头 例如: public class Service_class extends Service { String Dirty1 = "www.playboy.com"; String Dirty

这可能是什么原因?我们只是尝试在下面的服务类中查询浏览器历史记录,但是eclipse生成了错误
对于类型service\u class service\u class.java,managedQuery方法未定义

我们曾试图遵循eclipse的建议,但它完全打开了另一个蠕虫罐头

例如:

public class Service_class extends Service {
       String Dirty1 = "www.playboy.com";
        String Dirty2 = "www.penthouse.com";
        String Dirty3 = "www.pornhub.com";
        String Dirty4 = "www.playboy.com";
        String Dirty5 = "www.playboy.com";
        String Dirty6 = "www.playboy.com";
        String Dirty7 = "www.playboy.com";
        String Dirty8 = "www.playboy.com";
        String Dirty9 = "www.playboy.com";
        String Dirty10 = "www.playboy.com";

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();

        return START_STICKY;
    }

    @Override
    public void onDestroy() {

        super.onDestroy();
        Toast.makeText(this, "Service Stopped", Toast.LENGTH_LONG).show();

    }

    @Override
    public void onCreate() {
        super.onCreate();
        String[] projection = new String[] { Browser.BookmarkColumns.TITLE,
                Browser.BookmarkColumns.URL };
                Cursor cursor = managedQuery(android.provider.Browser.BOOKMARKS_URI,
                        projection, null, null, null);
                String urls = "";
                if (cursor.moveToFirst()) {
                String url1 = null;
                String url2 = null;
                do {
                String url = cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.URL));

                if (url.toLowerCase().contains(Dirty1)) {
                } else if (url.toLowerCase().contains(Dirty2)) {
                } else if (url.toLowerCase().contains(Dirty3)) {
                } else if (url.toLowerCase().contains(Dirty4)) {
                } else if (url.toLowerCase().contains(Dirty5)) {
                } else if (url.toLowerCase().contains(Dirty6)) {
                } else if (url.toLowerCase().contains(Dirty7)) {
                } else if (url.toLowerCase().contains(Dirty8)) {
                } else if (url.toLowerCase().contains(Dirty9)) {
                } else if (url.toLowerCase().contains(Dirty10)) {
                //if (url.toLowerCase().contains(Filthy)) {
                urls = urls
                + cursor.getString(cursor.getColumnIndex(Browser.BookmarkColumns.TITLE)) + " : "
                + url + "\n";
                Intent intent = new Intent(Service_class.this, Warning.class);
                Service_class.this.startActivity(intent);
                }
                } while (cursor.moveToNext()); 
            //  tv.setText(urls);


    }

}}

服务的managedQuery函数不存在。它只存在于活动中。您仍然可以执行查询,但必须手动管理光标并将其关闭。

在onCreate方法的第3行中,您使用的是托管查询方法。它是在哪里定义的?

因为服务也没有查询方法,所以您需要以最困难的方式进行操作-找到您需要的内容提供商,查询它,并确保完成后关闭光标。管理它就像在C++中管理内存一样——当您使用完它后,您需要释放它所使用的资源(通过close)。“活动”上的managedQuery为您执行此操作。但对于一项服务,你必须自己完成。关于如何完成这项工作,有什么建议吗?(我们以前从未创建过服务类-我们刚刚了解了如何创建)您试图查询什么?任何与我们的“脏”字符串匹配的内容。请尝试使用getContentResolver().query()代替managedQuery。