다른 앱이 자신의 앱인 Allowing Other Apps to Start Your Activity를 불러일으키도록
Android 리소스 사용은 항상 URL, URI로 설계됩니다.어떤 물건을 구체적으로 포지셔닝할 수 있다는 것을 발견하고 그들 둘의 차이를 조사해 봤다.
마찬가지로, 다른 질문: String HttpServletRequest, getRequestURI(),StringBuffer HttpServletRequest, getRequest URL ()되돌아오는 내용은 어떻게 다릅니까?왜 그랬을까?
JavaDoc를 보니까
URIS, URLs, and URNS 먼저, URI는 uniform 본 내용은 55ab 커뮤니티 Resource identifier에서 시작되었고 자원 식별자를 통일시켜 유일한 자원을 표시하는 데 사용된다.URL은 uniform resource locator로 자원 위치추적기를 통일시킨다. 이것은 구체적인 URI이다. 즉, URL은 자원을 표시할 수 있고 이 자원을 어떻게 locate하는지 가리킨다.URN, uniform resource name은 자원 이름을 통일하고 이름을 통해 자원을 표시한다. 예를 들어mailto:java-net@java.즉, URI는 하나의 추상적이고 고차원 개념으로 통일된 자원 표지를 정의하고 URL과 URN은 구체적인 자원 표지의 방식이다.URL과 URN은 모두 URI입니다.
Java의 URI에서 URI 인스턴스는 URI의 구문 규칙에 부합하는 한 절대적이거나 상대적일 수 있습니다.URL 클래스는 의미에 부합할 뿐만 아니라 이 자원을 포지셔닝하는 정보도 포함하기 때문에 상대적일 수 없고 schema가 지정되어야 한다.
더 많은 사람들이 사용하는 앱을 개발하기 위해 우리는 항상 우리의 앱이 다른 앱에 의해 호출되는 인터페이스를 제공할 수 있기를 바란다.우리가 흔히 볼 수 있는 대중의 평론과 콩잎.그들의 이런 자원이 풍부한 앱은 우리에게 많은 풍부한 자원을 제공할 수 있다.
예를 들어 콩잎의 안드로이드 Manifext.xml의 scheme:
<activity android:name="com.douban.movie.PlayVideoActivity" >
<intent-filter>
<action android:name="com.douban.movie" >
</action>
<action android:name="android.intent.action.VIEW" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<category android:name="android.intent.category.BROWSABLE" >
</category>
<data
android:host="movie.douban.com"
android:pathPattern="/trailer/.*/"
android:scheme="http" >
</data>
</intent-filter>
</activity>
주로 다음과 같은 정의를 내렸습니다.
android:name="android.intent.category.BROWSABLE"
<data
android:scheme="http"
android:host="movie.douban.com"
android:pathPattern="/trailer/.*/"
>
</data>
<data
android:scheme="http"
android:host="movie.douban.com"
android:pathPattern="/trailer/.*/"
>
</data>
사용자의 휴대전화에 앱이 설치되어 있지 않으면 제3자 앱이 Scheme 점프를 사용해야 한다면 오류가 발생할 수 있다는 것을 알고 있습니다.
이렇게 되면 우리의 일반적인 해결 방법은 바로 웹 페이지의 응용 프로그램으로 넘어가는 것이다.
따라서 Scheme를 Url과 같은 형식으로 작성하여 응용 프로그램 내의 이동과 웹 페이지의 이동을 편리하게 합니다.
물론 대중의 평론처럼 따로 쓸 수도 있다.
String id = "3102397";
try
{
Uri url = Uri.parse("dianping://shopinfo?id=" + id);
Intent intent = new Intent(Intent.ACTION_VIEW, url);
mContext.startActivity(intent);
}
catch (Exception e)
{
// , HTML5
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.dianping.com/shop/" + id));
mContext.startActivity(intent);
}String id = "3102397";
try
{
Uri url = Uri.parse("dianping://shopinfo?id=" + id);
Intent intent = new Intent(Intent.ACTION_VIEW, url);
mContext.startActivity(intent);
}
catch (Exception e)
{
// , HTML5
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.dianping.com/shop/" + id));
mContext.startActivity(intent);
}
물론Activity에 들어간 후 Uri류를 처리하고 path를 얻으면 해당하는 매개 변수 전달을 할 수 있고 서로 다른 인터페이스로 넘어갈 수 있다
Uri uri = getIntent().getData();
uri.getPath();
첨부에 자기가 쓴 sheme의 demo가 올라왔어요. 잘 모르시면 보셔도 돼요.
demo http://download.csdn.net/detail/yzzst/6216457
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.