Android 작업 Html 다른 앱 열기

4277 단어 AndroidHtmlAPP
현재 Android 프로그래머 가 점점 많아 지고 있 습 니 다.심지어 일부 지역 에서 공급 이 수 요 를 초과 하 는 상황 이 발생 했 습 니 다.배경 을 보면 Android 의 생태 체인 은 점점 이성 적 이 고 인재 와 개발 도 구 를 계속 업데이트 할 것 입 니 다.몇 년 전의 eclipse 가 매우 뜨 거 웠 습 니 다.현재 Android studio 는 좋 은 체험 을 통 해이미 점점 더 많은 사람들 이 안 드 로 이 드 스튜디오 로 전환 하여 개발 을 하고 있 기 때문에 이것 도 다양성 의 표현 이다.쓸데없는 말 이 이렇게 많다.내 가 표현 하고 자 하 는 것 은 사람 이 많 는 것 이 문제 가 아니 라 중요 한 것 은 자신 이 이 일 을 감당 할 수 있 는 능력 을 가지 고 끊임없이 신기 술 을 배우 고 자신 을 갱신 하 는 것 이다.
지금 우 리 는 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();
      }

    });

이렇게 하면 됩 니 다.이것 은 웹 페이지 로 딩 이 실 패 했 을 때 실 행 된 작업 입 니 다.우 리 는 이렇게 힌트 를 줄 수 있 을 뿐만 아니 라,우 리 는 그 를 앱 의 다운로드 주소 등 일련의 자신 이 원 하 는 조작 으로 옮 길 수 있다.
자,모든 코드 가 여기 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기