Android 작업 Html 다른 앱 열기
지금 우 리 는 Html 에서 핸드폰 안의 앱 을 어떻게 켜 는 지 에 대해 이야기 합 니 다.이 수 요 는 현재 사용 하 는 것 도 점점 광범 위 해 지고 있 습 니 다.예 를 들 어 타 오 바 오,알 리 페 이의 결제 등 은 모두 이 기능 을 사 용 했 습 니 다.그런데 어떻게 실현 하 는 지 저 는 webview 를 사용 하여 이런 기능 을 모 의 하 겠 습 니 다.먼저 html 안의 코드 를 보 겠 습 니 다.
<!DOCTYPE HTML>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<a href="xiaopinggaiblog://xiappinggai/open"> app</a><br/>
</body>
</html>
네,잘못 보지 않 았 습 니 다.이렇게 몇 줄 의 코드 는 js 를 사용 하지 않 았 고 css 도 사용 하지 않 았 습 니 다.(/a)라벨 은 하이퍼링크 라벨 입 니 다.이 기본 적 인 사람 은 알 아 볼 수 있다 고 믿 습 니 다.중요 한 것 은 이 하이퍼링크 안의 내용 을 보 는 것 입 니 다.xiaopinggaiblog://xiappinggai/open이것 은 내 가 스스로 정의 한 것 이다.먼저 우리 가 열 려 는 프로그램의 등록 파일 에 있 는 쓰기 방법 을 보 세 요.
<activity
android:name=".MainActivity"
android:excludeFromRecents="true"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:pathPrefix="/xiappinggai/open"
android:scheme="xiaopinggaiblog" />
</intent-filter>
</activity>
다른 프로그램의 메 인 화면 을 열 어서 다음 의도 필 터 를 보 는 것 을 모 의 한 것 입 니 다.여기에태그 가 있 습 니 다.이 탭 의 내용 은:android:scheme="xiaopinggaiblog" />
PathPrefix 속성 은 일부 경로 만 지정 합 니 다.Intent 대상 의 경로 초기 부분 과 일치 합 니 다.
scheme 속성 은 URI 의 scheme 부분 을 설정 하 는 데 사 용 됩 니 다.이것 은 지정 한 URI 에 설정 하 는 가장 기본 적 인 속성 입 니 다.적어도 필터 에 scheme 속성 을 설정 해 야 합 니 다.그렇지 않 으 면 다른 URI 속성 은 의미 가 없습니다.
이렇게 설정 하면 다른 앱 을 완벽 하 게 열 수 있 습 니 다.또한 어떤 브 라 우 저 는 이 기능 을 지원 합 니 다.테스트 할 때 열 수 없 는 상황 이 발생 하면 브 라 우 저 테스트 를 바 꾸 는 것 도 고려 할 수 있 습 니 다.
다음은 그 프로그램 에 데 이 터 를 어떻게 전달 하 는 지 다시 볼 까요?사실 어렵 지 않 습 니 다.url 만 고치 면 됩 니 다.구체 적 으로 다음 과 같 습 니 다.
xiaopinggaiblog://xiappinggai/open?data=xiaopinggaiblog
인 자 를 여러 개 입 으 려 면 요?사실 도 가능 합 니 다.&기호 로 연결 할 수 있 습 니 다.이렇게 쓰 십시오.
xiaopinggaiblog://xiappinggai/open?data=xiaopinggaiblog&arga=value
그러면 그 프로그램 에서 어떻게 받 습 니까?사실은 몇 줄 의 코드 입 니 다.우 리 는 데 이 터 를 받 아야 하 는 Activity 에 이렇게 쓰 여 있 습 니 다.
Uri uridata = this.getIntent().getData();
if (uridata!=null) {
String mydata = uridata.getQueryParameter("data");
}
이렇게 쓰 면 데 이 터 를 얻 을 수 있 지만 또 하나의 문제 가 있 습 니 다.열 려 는 앱 이 설치 되 지 않 았 을 때 앱 을 클릭 하면 오류 가 발생 할 수 있 습 니 다.그러면 상호작용 체험 에 영향 을 줄 수 있 기 때문에 우 리 는 이렇게 할 수 있 습 니 다.
mWeb.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
mWeb.loadUrl("file:///android_asset/html2.html");
Toast.makeText(MainActivity.this, " APP", 0).show();
}
});
이렇게 하면 됩 니 다.이것 은 웹 페이지 로 딩 이 실 패 했 을 때 실 행 된 작업 입 니 다.우 리 는 이렇게 힌트 를 줄 수 있 을 뿐만 아니 라,우 리 는 그 를 앱 의 다운로드 주소 등 일련의 자신 이 원 하 는 조작 으로 옮 길 수 있다.자,모든 코드 가 여기 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.