2011-02-03 36 views
13

sendBroadcast() - Có nên gọi bên trong Hoạt động không? Tôi đang cố gắng gọi sendBroadcast() từ phương thức của lớp tiện ích không mở rộng Hoạt động. Tôi nhận được lỗi biên dịch như sauCách sử dụng sendBroadcast()

Phương pháp sendBroadcast (Ý định) là không xác định cho các loại MyWrapperClass MyWrapperClass.java

Dưới đây là đoạn mã:

abstract class MyWrapperClass { 

    public static void sendData() 
     { 
      Intent intent = new Intent ("com.proj.utility.mgr",null); 

      intent.putExtra("example","Broadcasting "); 

      sendBroadcast(intent); 

     } 
    } 

Is có bất kỳ khái niệm nào đằng sau việc sử dụng cuộc gọi sendBroadcast bên trong lớp của tôi. Không có vấn đề trong việc sử dụng sendBroadcast() bên trong Activity. Ai đó có thể giúp tôi giải quyết nó? Hoặc Bất kỳ đề xuất nào khác được mời để trả về dữ liệu từ lớp tiện ích đến ứng dụng không đồng bộ. Cảm ơn trước.

+2

bạn cần truy cập vào ngữ cảnh ứng dụng để gọi sendbroadcast. Bạn có thể không nhận được thông tin này từ tài liệu android không. –

Trả lời

20

Bạn nên vượt qua bối cảnh từ lớp hoạt động đến lớp tiện ích để truy cập tài nguyên ứng dụng cụ thể như startActivity, sendBroadcast vv

context.sendBroadcast(intent); 
0

Nếu bạn mở rộng đối tượng Application (nhập chính đang được gọi là trước khi bạn Hoạt động đầu tiên), sau đó bạn có thể giữ một singletone dùng chung cho ứng dụng của bạn.