Tôi muốn giúp dễ dàng thêm ứng dụng của mình vào màn hình chính bằng cách nhấn một nút. Vì vậy, những gì tôi đang suy nghĩ là một nút ở dưới cùng của ứng dụng của tôi nói rằng "Thêm vào màn hình chủ" và khi nó được nhấn, nó thêm phím tắt vào màn hình chủ mà không đóng ứng dụng. Tôi nên thêm mã nào để thực hiện điều đó?Thêm phím tắt cho ứng dụng android Để màn hình chính Khi nhấn nút
Trả lời
Gửi một INSTALL_SHORTCUT chương trình phát sóng với kết quả Mục đích là phụ (trong trường hợp này, kết quả Ý định đang mở một số hoạt động trực tiếp).
//where this is a context (e.g. your current activity)
final Intent shortcutIntent = new Intent(this, SomeActivity.class);
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
// Sets the custom shortcut's title
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
// Set the custom shortcut icon
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));
// add the shortcut
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
Bạn cũng cần sự cho phép này trong biểu hiện của bạn:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Bước đầu tiên, bạn nên thực hiện các luncher có thể nhận được một phát sóng:
<!-- Intent received used to install shortcuts from other applications -->
<receiver
android:name="com.android.launcher2.InstallShortcutReceiver"
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT"/>
</intent-filter>
</receiver>
Tiếp theo, thêm một sự cho phép trong manifest .xml
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
Cuối cùng, tạo một hàm và gọi nó là khi bạn nhấp vào nút:
public void createShortCut(){
// a Intent to create a shortCut
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//repeat to create is forbidden
shortcutintent.putExtra("duplicate", false);
//set the name of shortCut
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));
//set icon
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//set the application to lunch when you click the icon
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , EnterActivity.class));
//sendBroadcast,done
sendBroadcast(shortcutintent);
}
làm điều đó như thế này:
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
createShortCut();
}
});
do đó onclick nên có phần thứ ba như là một kết quả? – CreeperHunter
Có, Bạn chỉ cần làm như thế này: public void onClick (Xem v) { \t \t \t \t createShortCut(); \t \t \t} – Laolizi
Ok ... Tôi biết đây là chủ đề cũ nhưng tôi muốn chắc chắn kỹ sư truy cập chủ đề này có thông tin mới nhất.
Bắt đầu từ Android O - Là một phần của Giới hạn kiểm tra nền (Người nhận ngầm trong trường hợp này), chương trình phát sóng com.android.launcher.action.INSTALL_SHORTCUT không còn ảnh hưởng gì đến ứng dụng của bạn nữa bởi vì bây giờ nó là riêng tư, phát sóng ngầm.
mỗi Android O ActivityManagerService.java:
case "com.android.launcher.action.INSTALL_SHORTCUT":
// As of O, we no longer support this broadcasts, even for pre-O apps.
// Apps should now be using ShortcutManager.pinRequestShortcut().
Log.w(TAG, "Broadcast " + action
+ " no longer supported. It will not be delivered.");
Tôi hy vọng điều này sẽ giúp!
xác nhận, phát sóng cũ 'Intent' không hoạt động trên Oreo trở lên. devs có thể sử dụng [ShortcutManagerCompat] (https://developer.android.com/reference/android/support/v4/content/pm/ShortcutManagerCompat.html), khi nhắm mục tiêu API26 trở lên (phương thức 'requestPinShortcut' chứa dự phòng' Intent' cách trên <= API25, ở trên sử dụng 'ShortcutManager.pinRequestShortcut()') – snachmsm
- 1. Lỗi cho phép phím tắt màn hình chính của Android
- 2. Tắt nút Trang chủ trong ứng dụng Màn hình chính?
- 3. Tắt nút Khóa màn hình (Nguồn) trong Android
- 4. android: tắt màn hình khi ở gần mặt
- 5. Ứng dụng Android không bắt đầu từ phím tắt
- 6. Tắt màn hình Android
- 7. Android Java: Tắt màn hình
- 8. Tắt nút gửi của bàn phím khi không có gì được nhập [Android]
- 9. Tạo các phím tắt trên Màn hình chính của iOS trên Chrome dành cho iOS
- 10. Ngăn không cho tái tạo hoạt động Android khi tắt màn hình
- 11. Android: Phím tắt ứng dụng phải được tạo lại sau khi cập nhật
- 12. Tắt nút trang chủ Android cho ứng dụng trong ngành
- 13. Android - Tắt hỗ trợ màn hình x màn hình lớn
- 14. Cách thêm lối tắt vào Màn hình chính trong android theo lập trình
- 15. Android: thay đổi tên ứng dụng trong màn hình chính
- 16. ActionBar sẽ tắt màn hình khi bàn phím hiển thị
- 17. Bàn phím tắt Android
- 18. Tránh android tắt màn hình trong khi ứng dụng (với Phonegap) là trên
- 19. Thanh toán trong ứng dụng Android - ngoại trừ khi nhấn mua, sau đó nhấn lại từ màn hình mua hàng
- 20. Cách thêm tiện ích vào màn hình chính Android từ ứng dụng của tôi?
- 21. Có ứng dụng web "thêm vào màn hình chính" trên Android (như trong iOS)
- 22. Làm cách nào để tạo ứng dụng thay thế màn hình chính tùy chỉnh cho Android?
- 23. Ứng dụng web trên màn hình chính (kiểu iphone)?
- 24. Cách tạo bàn phím ảo trên màn hình cho Android
- 25. cách thông báo nếu người dùng Android đến từ ứng dụng màn hình chính
- 26. android: bộ thu phát sóng cho màn hình bật và tắt màn hình
- 27. Phím tắt cho jButton mà không sử dụng phím alt
- 28. Thứ tự thay đổi/phím tắt/nhấn phím trong jQuery
- 29. kích hoạt ứng dụng khi nhấn nút nguồn
- 30. Android - Điều chỉnh màn hình khi bàn phím bật lên?
Cảm ơn bạn đã giải pháp. Việc này ổn với tôi. Nhưng tôi có một vấn đề khác. Ứng dụng của tôi hỗ trợ nhiều ngôn ngữ. Vì vậy, khi tôi thay đổi ngôn ngữ điện thoại trong cài đặt, tên ứng dụng của tôi được cập nhật tốt trong trình khởi chạy. Nhưng tên ứng dụng không cập nhật sang ngôn ngữ mới trong màn hình chính. Tôi có cần phải thêm nhiều hơn nữa cho điều đó không? Cảm ơn bạn đã đọc .. – Sushil
Vì bạn không thể sửa đổi một phím tắt, điều này sẽ là không thể. – volkersfreunde
Tuyệt vời. Quyền trong tệp kê khai là bắt buộc. –