[Android] Dialog 속성

Back키 Cancle 여부 설정

setCancelable(false);

Dialog dim background 막기

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

Dialog 밖을 터치 했을 경우 Dialog 종료 막기

setCanceledOnTouchOutside(true);

Dialog 밖의 View를 터치할 수 있게 하기 (다른 View를 터치시 Dialog Dismiss)

getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
     WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

Dialog 배경을 투명하게 하기

getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

Dialog Cancle Event

setOnCancelListener(OnCancelListener listener)

Dialog Show Event

setOnShowListener(OnShowListener listener)

Dialog Dismiss Event

setOnDismissListener(OnDismissListener listener)

"프로그래밍 / Android" 분류의 다른 글

[Android] 전화걸기 연동 (0)2014/08/14
2015/08/30 17:18 2015/08/30 17:18
태그 : ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

[Android] 전화걸기 연동

전화 바로 걸기

    Intent intent= new Intent(Intent.ACTION_CALL);
    intent.setData( Uri.parse("tel:"+callee)); 
    startActivity(intent);

전화 걸기 창 표시

    Intent intent= new Intent(Intent.ACTION_DIAL);
    intent.setData( Uri.parse("tel:"+callee)); 
    startActivity(intent);

"프로그래밍 / Android" 분류의 다른 글

[Android] Dialog 속성 (3)2015/08/30
2014/08/14 20:28 2014/08/14 20:28
태그 : ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

HttpOpenRequest 이용시 디버깅 창에
"0xC0000005: 0xcccccccc 위치를 읽는 동안 액세스 위반이 발생했습니다."
메세지가 출력되어 무시하다 해결방법을 찾았습니다.

LPCTSTR   szAcceptType = "*/*";
LPCTSTR   szAccept = __ACE_HTTP_ACCEPT;
LPCTSTR   szContentType= _T("Content-Type: application/x-www-form-urlencoded\r\n");    
DWORD     dwFlags = INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_FORMS_SUBMIT;
DWORD_PTR dwContext = NULL;

m_hReq =::HttpOpenRequest(m_hHttp, "POST",  szURI, HTTP_VERSION, NULL, &szAcceptType, dwFlags, dwContext);
if(!m_hReq){
    return FALSE;
}

오류 해결방법

MSDN 함수 설명
HINTERNET HttpOpenRequest(
 __in   HINTERNET hConnect,
 __in   LPCTSTR   lpszVerb,
 __in   LPCTSTR   lpszObjectName,
 __in   LPCTSTR   lpszVersion,
 __in   LPCTSTR   lpszReferer,
 __in   LPCTSTR*  lplpszAcceptTypes,
 __in   DWORD     dwFlags,
 __in   DWORD_PTR dwContext
);

lplpszAcceptTypes 값을 다음과 같이 수정하면 됩니다.

LPCTSTR   szAcceptType[]= {"*/*", NULL};
LPCTSTR   szAccept = __ACE_HTTP_ACCEPT;
LPCTSTR   szContentType = _T("Content-Type: application/x-www-form-urlencoded\r\n");    
DWORD     dwFlags = INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_FORMS_SUBMIT;
DWORD_PTR dwContext = NULL;

m_hReq =::HttpOpenRequest(m_hHttp, "POST",  szURI, HTTP_VERSION, NULL, szAcceptType, dwFlags, dwContext);
if(!m_hReq){
    return FALSE;
}

2014/03/04 22:31 2014/03/04 22:31
태그 :
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다