펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


1.구버전 안드로이드 기본브라우저 (약 S5 이전단말의 기본브라우저)


try {

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL};

String sel = Browser.BookmarkColumns.BOOKMARK + " = 1"; // 0 = history, 1 = bookmark

Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null);

mCur.moveToFirst();

String title = "";

String url = "";


if (mCur.moveToFirst() && mCur.getCount() > 0) {

boolean cont = true;

while (mCur.isAfterLast() == false && cont) {

title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));

url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));

mCur.moveToNext();

      }


}

}

catch (Exception e) {

}



2. 크롬 브라우저


try {

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL, Browser.BookmarkColumns.DATE };

Uri uriCustom = Uri.parse("content://com.android.browser/bookmarks");

String sel = Browser.BookmarkColumns.BOOKMARK + " = 1"; // 0 = history, 1 = bookmark

Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);

mCur.moveToFirst();

String title = "";

String url = "";


if (mCur.moveToFirst() && mCur.getCount() > 0) {

boolean cont = true;

while (mCur.isAfterLast() == false && cont) {

title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));

url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));


        }

mCur.moveToNext();

      }


}

}

catch (Exception e) {

}


3. 최신단말의 안드로이드 S브라우저 (약 S5이후 단말에서 많이 사용하는것같음)


try {

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL, Browser.BookmarkColumns.DATE };

Uri uriCustom = Uri.parse("content://com.sec.android.app.sbrowser.browser/bookmarks");

String sel = Browser.BookmarkColumns.BOOKMARK + " = 1"; // 0 = history, 1 = bookmark

Cursor mCur = getContentResolver().query(uriCustom, proj, sel, null, null);

mCur.moveToFirst();

String title = "";

String url = "";


if (mCur.moveToFirst() && mCur.getCount() > 0) {

boolean cont = true;

while (mCur.isAfterLast() == false && cont) {

if (!TextUtils.isEmpty(url)) {

title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));

url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));


}

mCur.moveToNext();

      }


}

}

catch (Exception e) {

}



Android/기본스킬 | Posted by 덩치 2014. 11. 17. 17:19

전원버튼 이벤트 감지하기

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


IntentFilter powerFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF);

registerReceiver(mPowerBroadcast, powerFilter);



BroadcastReceiver mPowerBroadcast = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if(Intent.getAction().equals("android.intent.action.SCREEN_OFF") {

// 스크린이 꺼질때 이벤트

}

else if(Intent.getAction().equals("android.intent.action.SCREEN_ON") {

// 스크린이 켜질때 이벤트

}

else

return;

}


}


그리고 onDestroy 등에서

unregisterReceiver(mPowerBroadcast);

를 이용해 브로드캐스트를 종료한다.



Android/기본스킬 | Posted by 덩치 2014. 11. 17. 17:12

홈버튼 이벤트 감지하기

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO

@Override

protected void onUserLeaveHint() {

//여기서 감지

Log.d(TAG, "Home Button Touch");

super.onUserLeaveHint();

}


홈키 눌렀을때 작동되어야 하는 작업들을 위의 소스코드를 이용하여 처리할 수 있다.