Tôi muốn mở ứng dụng Android của tôi khi người dùng chạm vào liên kết đến trang web của tôi (tốt nhất là từ bài cổ phiếu Facebook, nhưng chúng ta hãy bắt đầu với URL đơn giản).mở App từ URL hoạt động trên Firefox dành cho Android nhưng không phải trên Google Chrome
Để đạt được điều này, tôi đã tạo ra một Hoạt động UrlReceiver
và thêm mã này vào tập tin AndroidManifest.xml
tôi (URL chỉ dành cho mục đích thử nghiệm):
<activity
android:name=".main.core.UrlReceiver"
android:exported="true">
<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="martinfowler.com"
android:pathPrefix="/"
android:scheme="http"/>
<data
android:host="www.martinfowler.com"
android:pathPrefix="/"
android:scheme="http"/>
<data
android:host="test"
android:scheme="myapp"/>
</intent-filter>
</activity>
Và điều này đang làm việc trên Firefox dành cho Android, khi tôi nhập myapp://test/
, ứng dụng sẽ tự động mở ứng dụng của tôi khi tôi nhập martinfowler.com
có đầu Android bên cạnh url dẫn đến nhấn vào ứng dụng của tôi. Và điều này là tốt.
Nhưng đó là không làm việc trên Google Chrome. Khi tôi nhập myapp://test/
nó bắt đầu tìm kiếm của Google và khi tôi nhập martinfowler.com
nó chỉ mở trang web.
tôi bắt đầu đào về vấn đề này trên web và tìm thấy tài liệu này: https://developer.chrome.com/multidevice/android/intents, exmplaining rằng schemas tùy chỉnh sẽ không hoạt động trong Chrome nữa vì vậy tôi cố gắng sử dụng các URL này (theo tài liệu):
intent://test/#Intent;scheme=myapp;package=com.my.app;end
intent://#Intent;scheme=myapp;package=com.my.app;end
intent://test/#Intent;package=com.my.app;scheme=myapp;end
intent://#Intent;package=com.my.app;scheme=myapp;end
Nhưng chúng cũng đang bắt đầu tìm kiếm của Google. Tôi có thể làm gì để mở ứng dụng của tôi từ URL trong Google Chrome?
Tôi đã thử nghiệm điều này trên cả KitKat và Lolipop.
Cảm ơn bạn. Liên kết nào ở trên là kết nối hoạt động cuối cùng? –
Trong Google Chrome? Không, bạn phải nhấp vào liên kết, bạn không thể nhập/sao chép liên kết trong Thanh địa chỉ Chrome (thanh tìm kiếm). – KlimczakM