2013-07-04 3 views
0

Android 브라우저에 내장 된 Android를 삭제할 수있는 Android 앱을 개발하려고합니다. 여기 내 코드가Android 브라우저 삭제 Boookmark

ContentResolver cr = getContentResolver(); 
try 
{ 
    Cursor c = cr.query(
         Browser.BOOKMARKS_URI, 
         new String [] { Browser.BookmarkColumns._ID, 
             Browser.BookmarkColumns.BOOKMARK, 
             Browser.BookmarkColumns.VISITS }, 
         "bookmark != 0", 
         null, 
         null); 
    c.moveToFirst(); 
    cr.delete(Browser.BOOKMARKS_URI, null, null); 

} 
catch (IllegalStateException e) 
{ 
    e.printStackTrace(); 
} 

위의 코드에서 문제가 완전히 완벽하게 북마크를 삭제할 수 있다는 것입니다. 그것은 북마크를 삭제하지만 그것은 또한 예정되지 않은 브라우저 기록도 삭제합니다. 이 수수께끼를 없애도록 도와주세요. 미리 감사드립니다.

+0

을 @dors 학점 북마크와 함께 올 때 "뜻? – dors

+0

편집 된 버전을 확인하십시오. @dors –

답변

2

내 생각 엔 안드로이드 문서에 따르면 을 (당신이 "여기서"PARAM에 null을 전달하기 때문에) 당신은 책갈피의 테이블에서 모든 것을 삭제 요청

cr.delete(Browser.BOOKMARKS_URI, null, null); 

를 호출하여 BOOKMARKS_URI는 점이다 :

북마크 및 기록 항목

그래서 ... 당신이해야 더과 특이 적 모두를 포함하는 테이블 IC는 작업 코드 삭제 여기

+0

나는 당신이 무엇을 의미하는지 설명 할 수 있습니까? 당신이 무엇을 삭제해야하는지에 관해 더 구체적으로 설명 할 수 있습니까? (즐겨 찾기 == 1을 cr.delete (...에 추가하십시오.) 전화 또는 무언가)'당신에 따르면? –

+1

cr.delete (Uri url, String where, String [] selectionArgs)에는 3 개의 매개 변수가 있습니다. 첫 번째 매개 변수에서는 "Browser.BOOKMARKS_URI 테이블에서 항목을 삭제하려고합니다."라는 의미의 'Browser.BOOKMARKS_URI'를 전달했습니다. 내 대답에서 언급했듯이 Browser.BOOKMARKS_URI는 책갈피 및 기록 항목을 모두 포함하는 데이터베이스 테이블입니다 두 번째와 세 번째 매개 변수에서 "null," "삭제하려는 항목에 대한 제한이 없으며 Browser.BOOKMARKS_URI의 모든 항목을 삭제합니다."라는 의미입니다. 그래서 "bookmark == 1"을 두 번째 매개 변수 ("where"매개 변수)를 지정하면 책갈피 만 삭제하려는 경우 – dors

+0

고마워요 @dors 작동 중입니다 –

2

합니다 (cr.delete (...) 호출 또는 무언가에 북마크 == 1 추가) 할 무엇인가에 대해 "무엇을

ContentResolver cr = getContentResolver(); 
try 
{ 
Cursor c = cr.query(
        Browser.BOOKMARKS_URI, 
        new String [] { Browser.BookmarkColumns._ID, 
            Browser.BookmarkColumns.BOOKMARK, 
            Browser.BookmarkColumns.VISITS }, 
        "bookmark != 0", 
        null, 
        null); 
c.moveToFirst(); 
cr.delete(Browser.BOOKMARKS_URI, "bookmark == 1", null); 

} 
catch (IllegalStateException e) 
{ 
    e.printStackTrace(); 
}