2012-01-23 36 views
30

Xin chào các bạn,Danh sách đầy đủ của tất cả các hành động "android.intent.action" có sẵn trong SDK Android là gì?

Tôi muốn biết liệu có một số tham chiếu toàn diện về tất cả các hành động Ý định được xác định trong SDK Android chuẩn không? Tôi đang nghĩ đến tên "android.intent.action.someaction" đầy đủ, không phải danh sách hạn chế các hành động được đánh dấu bí mật được xác định trong lớp Intent, ví dụ: Intent.ACTION_VIEW, Intent.ACTION_POWER_CONNECTED, v.v ...

Cho những người tin rằng tất cả các hành động Intent được đặt biệt danh trong lớp Intent (tôi là một trong số chúng cho đến gần đây). Tôi có ít nhất một hành động không phải là: android.intent.action.HDMI_PLUG (được định nghĩa trong media/java/android/media/AudioService.java) và tôi tin rằng có rất nhiều người khác.

Nhưng tôi không thể tìm thấy một số danh sách đầy đủ trong Tham chiếu Android, vì vậy có thể nếu bạn có thể hướng dẫn tôi đến một số địa điểm tôi có thể tìm thấy?

Cảm ơn!

--- Cập nhật: 23/01/2012 15h36 ---

Nhờ CommonsWare đề cập đến HDMI_PLUG không phải là ở tất cả các phần của Android SDK ... đó là một tấm gương xấu, nhưng vẫn có ý định không được xác định trong Intent.java, chẳng hạn như TelephonyManager.ACTION_PHONE_STATE_CHANGED.

+0

Còn [this] (http://developer.android.com/reference/android/content/Intent.html) thì sao? – Ghost

Trả lời

52

Hey Tôi nghĩ rằng tôi đã trả lời câu hỏi của riêng tôi :)

Trong thư mục Android SDK của tôi, dưới// dữ liệu nền tảng/x android-(x là mức API) Tôi đã tìm thấy một số tập tin rất thú vị:

  • activity_actions.txt
  • broadcast_actions.txt
  • categories.txt
  • features.txt
  • widgets.txt

Tắt hai mục đầu tiên chứa nhiều Intent thô, bao gồm cả những mục đích không được xác định trong Intent.java!

Tôi không hoàn toàn chắc chắn danh sách đề tài nào ở đây, tôi chỉ muốn chắc chắn rằng chúng đầy đủ về cấp API của chúng ... (ngay cả khi tôi không thấy lý do tại sao chúng không được)

+0

bạn chỉ nên sử dụng ý định được xuất bởi sdk, nếu không bạn sẽ không chắc chắn liệu chúng có được hỗ trợ trong tương lai – user3290180

+0

https://chromium.googlesource.com/android_tools/+/febed84a3a3cb7c2cb80d580d79c31e22e9643a5/sdk/platforms/android-23/data – HackNone

6

Tôi muốn biết liệu có một số tham chiếu toàn diện về tất cả các hành động Ý định được xác định trong SDK Android chuẩn không?

số

Đối với những người tin rằng tất cả những hành động Ý định được aliased trong lớp Intent (Tôi là một trong số họ cho đến rất gần đây) Tôi có ít nhất một hành động mà không phải là: android.intent .action.HDMI_PLUG (được định nghĩa trong media/java/android/media/AudioService.java) và tôi tin rằng có rất nhiều thứ khác.

Nếu không có trong SDK, không có gì đảm bảo rằng nó sẽ tồn tại trên bất kỳ phiên bản Android nào (trước/hiện tại/tương lai) hoặc trên bất kỳ thiết bị cụ thể nào (khả năng thay đổi không phải SDK của nhà sản xuất) yếu tố). Cụ thể trong trường hợp này, không có AudioService trong SDK Android và không có hành động HDMI_PLUG trong SDK Android.

+1

Xin chào lại CommonsWare, bạn thực sự đúng, mục đích HDMI_PLUG thực sự không phải là một phần của SDK, nó thậm chí không phải là một phần của bất kỳ API Android chuẩn nào ... Đó thực sự là một ví dụ thực sự tồi tệ, xin lỗi về điều đó, nhưng vẫn còn, về TelphonyManager.ACTION_PHONE_STATE_CHANGED? Đây là một phần của Android SDK Tôi khá chắc chắn lần này! :) Tuy nhiên, nó không phải trong lớp Intent ... – Wouzz

+2

@Wouzz: Đây là lý do tại sao tôi trả lời "không" cho câu hỏi đầu tiên của bạn. – CommonsWare

0

Không, ít nhất tôi chưa tìm thấy danh sách đầy đủ và đang tìm kiếm một danh sách. Tôi đang tìm kiếm tất cả các Mục đích liên quan đến NFC (ví dụ: ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED, ...). Dường như tài liệu developer.android.com là tất cả các bữa ăn. Điều tôi ngụ ý là hầu như không có phần 'dứt khoát' nào về bất cứ điều gì. Một chút bực mình. (Nhưng đó chỉ là ý kiến ​​của tôi).

Các vấn đề liên quan