Android 프로 그래 밍 은 링크 를 클릭 하여 앱 기능 예제 열기
안 드 로 이 드 에서 링크 를 클릭 해 앱 을 여 는 것 은 흔 한 요구 사항 이다.예 를 들 어 전자상거래 가 사용자 에 게 쿠폰 을 보 낸 후에 다음 문 자 를 자주 보 냅 니 다.특정한 쿠폰 이 귀하 의 계 정 에 보 냈 습 니 다.xxx 링크 를 클릭 하면 볼 수 있 습 니 다!이때 사용자 가 링크 를 클릭 하면 로 컬 앱 을 직접 열 고 해당 페이지 로 들어간다.
기능 구현:
1.manifest 에 해당 하 는 activity 에 intent-filter 를 추가 합 니 다.
<activity
android:name=".TestActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="mywebsite.com"
android:pathPrefix="/openApp"
android:scheme="http" />
</intent-filter>
</activity>
2.핸드폰 에 모 의 문자 메 시 지 를 보 내 고 링크 를 포함한다.http://mywebsite.com/openApp 핸드폰 은 일반적으로 링크 를 자동 으로 식별 할 수 있 습 니 다.링크 를 클릭 하면 시스템 에서 선택 상 자 를 팝 업 합 니 다.다음 과 같 습 니 다.자신의 앱(AndroidTest)을 클릭 하면 시스템 이 자동 으로 AndroidTest 라 는 프로그램의 TestActivity 페이지 를 엽 니 다.
3.그러나 상기 방법 은 완벽 하지 않 습 니 다.사용자 가 브 라 우 저 를 선택 하여 이 링크 를 열 수 있 기 때 문 입 니 다!이 문 제 를 해결 하기 위해 scheme 속성 을 사용자 정의 로 변경 할 수 있 습 니 다.예 를 들 어:
<data
android:host="mywebsite.com"
android:pathPrefix="/openApp"
android:scheme="myapp" />
이 때 대응 하 는 링크 주 소 는?myapp://mywebsite.com/openApp .핸드폰 로 컬 은 우리 만 의 프로그램 이 my app 이라는 협 의 를 식별 할 수 있 기 때문에 앱 을 직접 엽 니 다.그러나 여전히 문제 가 존재 한다.(1)만약 에 이 링크 를 홈 페이지 에 올 려 놓 고 사용자 가 링크 를 클릭 한 후에 앱 을 열 기 를 원한 다 면 상기 방법 은 문제 가 없다.예 를 들 어 웹 페이지 에 다음 코드 를 추가 하면 됩 니 다.
<a href='myapp://mywebsite.com/openApp'> APP</a>
(2)하지만 링크 를 문자 에 넣 으 면 안 됩 니 다.my app 이라는 프로 토 콜 시스템 의 문자 프로그램 도 식별 할 수 없 기 때문에 링크 스타일 로 표시 되 지 않 습 니 다.즉,사용자 가 직접 클릭 할 수 없다 는 것 입 니 다.이 문 제 를 해결 하 는 방법 은 웹 페이지 의 방향 을 바 꾸 는 기능 을 사용 하 는 것 이다.예 를 들 어 문자 메시지 에서 링크 를 보 내 는 것 이다.http://abc.com/openApp 그리고 이 페이지 에 재 설정 을 추가 합 니 다.
사용 자 는 문자 메시지 에서 클릭 하면 브 라 우 저 로 링크 를 연 뒤 자동 으로 자신의 앱 을 연다.4.마지막 으로 TestActivity 에서 링크 url 이 전달 하 는 인 자 를 가 져 올 수 있 습 니 다.
Intent intent = getIntent();
String action = intent.getAction();
if (Intent.ACTION_VIEW.equals(action)) {
Uri uri = intent.getData();
if (uri != null) {
String name = uri.getQueryParameter("name");
String age = uri.getQueryParameter("age");
Toast.makeText(this, "name=" + name + ",age=" + age, Toast.LENGTH_SHORT).show();
}
}
PS:AndroidManifest.xml 파일 관련 속성 기능 은 본 사이트 의 온라인 도 구 를 참고 할 수 있 습 니 다.Android Manifest 기능 과 권한 설명:
http://tools.jb51.net/table/AndroidManifest
더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.