2011-09-04 22 views
6

Tôi đang học cách sử dụng ý định tiềm ẩn cùng với các bộ lọc ý định và cho đến nay vẫn không thể thực hiện hoạt động chính xác để kích hoạt. Các mã được sử dụng để bắn mục đích là:Không thể lấy ý định tiềm ẩn để làm việc

intent = new Intent(); 
intent.setAction("com.appsculture.intent.action.PLUGIN_RECEIVER"); 
startActivity(intent); 

Và bộ lọc Ý định cho hoạt động mong muốn là:

<activity android:name="PluginReceiver"> 
<intent-filter> 
    <action android:name="com.appsculture.intent.action.PLUGIN_RECEIVER"></action> 
</intent-filter> 
</activity> 

Các lỗi tôi nhận được là ActivityNotFound chuẩn

09-04 17:15:27.827: ERROR/AndroidRuntime(2552): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.appsculture.intent.action.PLUGIN_RECEIVER } 

Giải pháp: Chỉ cần thêm android.intent.category.DEFAULT danh mục vào bộ lọc ý định

trình như một say mê sau đó

Trả lời

4

Tôi đã giải quyết được điều này bằng cách thêm danh mục android.intent.category.DEFAULT vào bộ lọc ý định. Hoạt động như một sự quyến rũ sau đó.

Vì phần mềm cộng đồng đã chỉ ra trong nhận xét về câu trả lời của anh, một danh mục là bắt buộc đối với Hoạt động, mặc dù không phải cho dịch vụ hoặc người nhận phát sóng.

3

Tất cả những gì bạn có ở đó nên được tốt, mặc dù tôi muốn sử dụng new Intent("com.appsculture.intent.action.PLUGIN_RECEIVER"), và việc sử dụng các RECEIVER có vẻ như một mảnh lẻ của một tên hành động cho một Activity thay vì một BroadcastReceiver .

Nếu đây là hai ứng dụng riêng biệt, hãy đảm bảo cả hai ứng dụng được cài đặt trên thiết bị hoặc trình giả lập của bạn, với mã mới nhất (nghĩa là bạn không thực hiện thay đổi và sau đó không cài đặt được ứng dụng đã cập nhật).

+0

Xin chào CommonsWare, Tôi đã sử dụng định nghĩa Intent được đề xuất của bạn trước đó (tôi chỉ chuyển sang intent.setAction vì phương pháp trước đó không tiếp tục). Kết quả của ActivityNotFoundException giống nhau. Cả hai hoạt động này đều thuộc cùng một ứng dụng, do đó vấn đề không phải là liệu chúng có được cập nhật hay không. Tôi hiểu việc đặt tên không phải là tốt nhất và tôi sẽ tìm cách thay đổi tên. Tên chủ yếu là những gì tôi cảm thấy phù hợp với mục đích của hoạt động là tốt nhất. –

+0

Tôi đã đăng giải pháp mà tôi đã tìm thấy cho sự cố –

+2

Ah, thú vị. Đối với các hành động tùy chỉnh cho dịch vụ và người nhận phát sóng, bạn không cần danh mục. Tôi quên rằng bạn cần một cái cho các hoạt động. Tôi xin lỗi vì đã bỏ lỡ điều này. – CommonsWare

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