Sử dụngLàm thế nào để bạn bao gồm ampersands trong URL để adb shell pm bắt đầu?
$ adb shell am start some://url
Tôi có thể khởi chạy URL bằng trình quản lý hoạt động. Tuy nhiên, nếu tôi bao gồm nhiều thông số URL, tất cả trừ thông số đầu tiên sẽ bị loại bỏ.
Ví dụ:
$ adb shell am start http://www.example.com?param1=1¶m2=2
Returns:
$ Starting: Intent { act=android.intent.action.VIEW dat=http://www.example.com?param1=1 }
và param2 biến mất như bất cứ điều gì sau khi một dấu bị bỏ qua. Tôi tự hỏi nếu có một số nhân vật mã hóa/thoát cho & rằng sẽ ngăn chặn điều này.
Thật không may với các công cụ nền tảng phiên bản 21 có một lỗi nơi URL sẽ được cắt ngắn sau dấu và đầu tiên, ngay cả khi bạn thoát khỏi nó. Vui lòng xem vấn đề này https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76026 – bumbobway
Giải pháp thay thế là gửi: '$ adb shell am start" http://www.example.com?param1=1%26param2=2 "' –