마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드. 텍스트 속의 URL 검사?!

0 추천
텍스트 사이에 URL이 존재하는지 안하는지 알고 싶네요.

 

확인할 수 있는 방법이 있을까요?
경매기술 님이 2015년 2월 11일 질문

2개의 답변

0 추천
url 은 http:// 나 https:// 이런걸로 시작하니깐

String str = "텍스트http://m.naver.com입니다.";
     if(str.contains("http://"))
             Log.e("", str);

contains 으로 검사해보시면 되시것네요
nicehee (73,100 포인트) 님이 2015년 2월 11일 답변
그렇게 시작을 안하는 링크도 있어서요...
XDLf/dfdwf/fdf/df 이런식의 링크도 있더라고요
그럼 XDLf/dfdwf/fdf/df 복사해서 크롬이나 파폭 주소창에 넣고 엔터쳐보셔요...
http:// 이건 프로토콜로 반드시 이걸로 시작해야합니다.
문자로 수신되는 텍스트를 그렇게 검사하는 과정에서 자동결제나 정보 유출이 되지 않는 건가요??

제가 만들려는 어플이 수신된 문자에 URL이 있으면 경고창이나 차단을 시킬려는 목적이 있어서요.
SMS문자는 BR을 통해서 내용을 가져오기때문에 자동결제 정보유출과 관계없어요
실제로 손으로 그 링크를 클릭해야만 영향을 받습니다.
아 그런가요? 감사합니다. 그러면... 어떤 메소드를 써야 URL인지 확인이 될까요?
위에 있잖아요...................
아 그런뜻이였군요 ;; 이해가 늦었네요;;
덕분에 해결 되었어요 감사합니다~~~
0 추천
Uri.parse 로 검사해보세요
mamondebaltob (32,750 포인트) 님이 2015년 2월 11일 답변
메소드가 나타내는 형식이나 의미가 어떻게 되나요?;;

어떤식으로 쓰이는지 알고 싶어요...
Uri uri = Uri.parse(suspiciousUrl);
if (uri.getScheme() == null || uri.getScheme().isEmpty()) {
    // safe text
} else {
    // has url
}

스트링을 파싱해서 uri 형식으로 바꿔줍니다.
모든 url 을 포함한 uri 는 {scheme}://{host} ... 식으로 시작하므로
scheme 이 없거나 비어있으면 올바른 uri (=url) 라고 볼 수 없겟죠
...