2014-01-14 3 views
2

다른 URL을 식별하고 특정 활동으로 열어 보겠습니다.매니페스트의 Android URL 스키마

나는 매니페스트에 인 텐트 필터를 선언하고 나는 간단한 조건을 사용하는 경우 그것은 작동 :

<data 
    android:host="www.myhost.fr" 
    android:pathPattern="/.*\\.shtml" 
    android:scheme="http" /> 

나는 "이야기"와 "비디오"와 같은 핵심 단어를 구분하려면

, 나는 이런 내 pathPattern을 변경합니다.

활동 이야기 :

<data 
    android:host="www.myhost.fr" 
    android:pathPattern="/.*story\\.shtml" 
    android:scheme="http" /> 

활동 비디오 :

<data 
    android:host="www.myhost.fr" 
    android:pathPattern="/.*video\\.shtml" 
    android:scheme="http" /> 

편집 내가 차단하려고 의 URL :

. 성냥을 위해, 그것은 다르다.

이 솔루션을 테스트 할 때 패턴이 인식되지 않습니다. 내가 웹에서 regex에서 테스트한다면, 그것이 맞다고 말하고있다.

아이디어가 있으십니까?

+1

정확히 일치 하시겠습니까? – Andros

+0

눈치 채어 주셔서 감사합니다. – Seynorth

+0

100 % 확신 할 수 없으므로 답변을 만들지는 못하지만 시도해 볼 수는 있습니다 : "/.*/video.shtml" – Andros

답변

0

.shtml이 포함 된 ID와 특정 단어를 캡처하고 싶습니까?

나는 시도했다 :

((\d+)/(story\.shtml|video\.shtml))|(match_mtc(\d+)\.shtml) 

그리고 그것은 "match_mtc을"의 경우는 이야기 나 비디오, 또는 단지 ID 인 경우 그 그룹 ID와 키워드를 캡처합니다.

당신은 아마도이 같은 자바에 대한 정규식의 문자를 이스케이프 두 배로해야 할 것

:

((\\d+)/(story\\.shtml|video\\.shtml))|(match_mtc(\\d+)\\.shtml) 

그런 다음, $ 1, $ 2 그룹을 호출 할 수 있습니다 ... $ n를 특정 얻을 필요한 끈.

+0

답변 해 주셔서 감사합니다. 사실, 제 질문은 매니페스트에 중점을 둡니다. 정규 표현식은 매니페스트 파일에 매우 제한적입니다. 우리의 유일한 해결책은 (나머지는"/.* "가 적음). 희망이 도움이됩니다! – Seynorth