Tôi đã sau đây quy định tại biểu hiện của tôi:Android Sâu Liên kết với tùy chỉnh URI
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.package">
...
<activity
android:name="app.myActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<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="www.example.com"
android:pathPrefix="/gizmos"
android:scheme="http" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos”-->
<data
android:host="gizmos"
android:scheme="example" />
</intent-filter>
</activity>
...
Và tôi đã xác định onCreate của tôi() như vậy:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri data = intent.getData();
if (data != null) {
Log.d("URI",data.toString());
}
}
này là phù hợp với Android tài liệu: Android Deep Linking
Vì vậy, câu hỏi là:
Làm cách nào để kiểm tra liên kết sâu URI? Theo tài liệu tôi chạy một cái gì đó giống như
adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos" com.app.package
Nhưng điều này tạo ra:
Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=example://gizmos flg=0x10000000 pkg=com.app.package }
Tôi cũng đã thử các vỏ với tên và tài liệu tham khảo của các hoạt động, các hoạt động phóng và để trống các gói . Người duy nhất tôi có thể làm việc là:
adb shell am start -W -a android.intent.action.VIEW -d " http://www.example.com/gizmos "
Nhưng ngay cả khi tôi có điều này thì không phải là nó sẽ hoạt động trong các ứng dụng khác. URI tùy chỉnh (ví dụ: // gizmos) không thể nhấp được trong các ứng dụng khác như Gmail và WhatsApp - vì vậy việc thử nghiệm trong hệ sinh thái Android cũng có vấn đề.
Câu trả lời at this stack overflow question không được chấp nhận vì nó không trả lời câu hỏi mà chỉ khuyến khích sử dụng phiên bản http: //, tôi muốn ví dụ: // scheme hoạt động.
Vui lòng không cố gắng nhồi nhét nhiều câu hỏi vào một bài đăng. Ngay cả khi bạn nghĩ rằng họ có liên quan. –