0

VCardparsing を行うサービスがあります。これが完了したらメソッドを実行したい。私のメソッドには DB クエリが含まれているため、サービスに直接含めることはできません。

ここからサービスが実行されているかどうかを確認できることがわかりました。しかし、これは私の目的には役立ちません。続行するにはどうすればよいですか。

編集

private void createFavorites() {


        DBAdapter db = new DBAdapter(this);
        db.open();
        Cursor favoriteCursor = db.getAllNumbers();


        Uri contactUri = ContactsContract.Data.CONTENT_URI;
        String[] contactProjection = new String[] {
                ContactsContract.Data._ID,
                ContactsContract.Data.DATA1,// gets number
                ContactsContract.Data.DATA2,// gets type
        };

        Cursor contactCursor = managedQuery(contactUri, contactProjection,
                null, null, null);

        CursorJoiner joiner = new CursorJoiner(favoriteCursor,
                new String[] { DBAdapter.KEY_NUMBER }, contactCursor,
                new String[] { ContactsContract.Data.DATA1 });

        MatrixCursor cursor = new MatrixCursor(new String[] { "number"}, 10);
        for (CursorJoiner.Result joinerResult : joiner) {
            switch (joinerResult) {
            case BOTH: // handle case where a row with the same key is in
                String id = contactCursor.getString(0);
                // String secret_identity = sipCursor.getString(1);
                cursor.addRow(new String[] { id });
                break;
            }
        }
        db.close();
        Log.d(LOG_TAG, "final favorite contact " + cursor.getCount() + favoriteCursor.getCount() + contactCursor.getCount());

    }

私がここでやろうとしているのは、お気に入りの数字を保持するデータベースが既にあるということです。その番号がそれらの vcf の 1 つに存在する場合、vcf を解析するときに、それらをお気に入りとしてマークしたいと思います。

4

1 に答える 1

0

を使用する必要がありIntentService、サービスですべての操作を完了した後Message、関連するアクティビティにを送信し、メソッドを実行します。ところで、「私のメソッドにはDBクエリが含まれているため、サービスに直接含めることはできません」とはどういう意味ですか。 DBinServicesも

于 2013-02-26T06:55:51.887 に答える