Có thể định nghĩa các phím tắt tĩnh cho nhiều vị trí mà không cần sao chép shortcuts.xml không? Tôi có hai hương vị:Phím tắt cho Android có nhiều hương vị?
- chính (gói: com.test)
- miễn phí (gói: com.test.free)
Các shortcuts.xml trông như thế này:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:enabled="true"
android:icon="@drawable/ic_shortcut_add_photo"
android:shortcutId="new_photo"
android:shortcutLongLabel="@string/new_photo"
android:shortcutShortLabel="@string/new_photo">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.test.MainActivity"
android:targetPackage="com.test"/>
</shortcut>
Vấn đề là tên gói trong inten t không thể tham chiếu đến tài nguyên chuỗi và phải được mã hoá cứng trong xml.
Để cũng cung cấp các phím tắt cho các hương vị tự do tôi phải sao chép các shortcuts.xml và thay đổi targetPackage để com.test.free mà là một giải pháp xấu.
"Sự cố là tên gói trong mục đích không thể tham chiếu đến tài nguyên chuỗi và phải được mã hóa cứng trong xml" - Tôi không ngạc nhiên và đó thực sự là vấn đề. "Để cung cấp các phím tắt cho hương vị tự do, tôi phải sao chép shortcuts.xml và thay đổi targetPackage thành com.test.miễn phí mà là một giải pháp xấu "- bạn có thể tìm thấy một số plugin Gradle hiện có sẽ cho phép bạn tạo mã từ một nguồn duy nhất. – CommonsWare
@CommonsWare Điều đó nghe có vẻ như một giải pháp quá phức tạp cho một vấn đề phổ biến –
Nó không phải là một Vấn đề rất phổ biến tại thời điểm này, trong khi các phím tắt ứng dụng đã tồn tại trong vòng hai tuần, bạn có thể là nhà phát triển thứ hai trên hành tinh, người đã phải lo lắng về vấn đề này. (ví dụ, XML ưu tiên), chúng dường như không được sử dụng nhiều, ngoài ra, những gì tôi đề xuất là khá nhiều tất cả các chuỗi công cụ có thể cung cấp cho bạn (ví dụ, nội suy chuỗi kiểu kết hợp khai báo) – CommonsWare