2012-05-18 44 views
9

Tôi không nghĩ rằng điều này là có thể, vì tôi chưa tìm thấy gì trong tài liệu SDK (chưa).Phát hiện tin nhắn bánh mì nướng

Nhưng tôi có thể làm với việc biết liệu có thể viết một ứng dụng ghi nhật ký thông báo Bánh mì nướng không. Ghi nhật ký ứng dụng nào đã hiển thị nó và nội dung được hiển thị chứa.

Đây là nỗ lực hoàn toàn cá nhân để tạo một ứng dụng có thể phát hiện các tin nhắn chúc mừng. Bởi vì một cái gì đó trên điện thoại của tôi là tạo ra một bánh mì nướng nói "Gửi ..." khoảng một lần mỗi ngày, và cho cuộc sống của tôi tôi không thể theo dõi các ứng dụng vi phạm (Service class). Tôi nghĩ rằng nó có thể là GMail hoặc Evernote, nhưng có tin nhắn chúc mừng để gửi là hơi khác nhau. Tôi sẽ xây dựng một ứng dụng bởi vì 1) Tôi không biết LogCat có thể hiển thị bất kỳ thứ gì không và tôi không muốn giữ điện thoại cá nhân/điện thoại của tôi được cắm vào PC mọi lúc (như "Đang gửi ... "thông báo xảy ra quá thường xuyên).

+0

Bạn đã hoàn thành ứng dụng của mình và đưa nó lên Google Play? –

+0

@ divideandconquer.se Tôi chưa bao giờ đăng nó trên google play như tôi vừa theo dõi vấn đề. Nhưng nó đã hoạt động. Tin nhắn đến từ Bộ công cụ Sim đã được cài đặt sẵn. Tôi không bao giờ bận tâm với google chơi kể từ khi android 4.1 các thông báo cho bạn biết ứng dụng nào đã tạo chúng. – JonWillis

+4

@ divideandconquer.se Tôi đã thực hiện một ứng dụng trong số câu hỏi này: https://play.google.com/store/apps/details?id=org.mars3142.android.toaster – mars3142

Trả lời

16

Có thể bắt tin nhắn/thông báo bằng Accessibility Service, hãy xem xét điều đó.

Bạn có thể mở rộng các lớp AccessibilityService và ghi đè lên các phương pháp onAccessibilityEvent() để thực hiện một cái gì đó như thế này:

public void onAccessibilityEvent(AccessibilityEvent event) { 
    if (event.getEventType() != AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) 
     return; // event is not a notification 

    String sourcePackageName = (String) event.getPackageName(); 

    Parcelable parcelable = event.getParcelableData(); 
    if (parcelable instanceof Notification) { 
     // Statusbar Notification 
    } 
    else { 
     // something else, e.g. a Toast message 
     String log = "Message: " + event.getText().get(0) 
        + " [Source: " + sourcePackageName + "]"; 
     // write `log` to file... 
    } 
} 

Lưu ý: Đây không làm việc cho tôi trên Android 2.2 vì nó dường như không bắt nâng cốc chúc mừng, nhưng nó hoạt động trên Android 4.0+.

+0

Tôi sẽ cung cấp cho nó một đi, và cho bạn biết kết quả – JonWillis

+0

Mất một lúc để dịch vụ này hoạt động. Nhưng nó hoạt động. Việc gửi tin nhắn chúc mừng ... đến từ com.android.stk – JonWillis

+0

hoạt động rất đẹp. Đã tìm kiếm điều này một thời gian. một lần 4,0 nhấn vào bảng, mọi thứ khi một chút buồn cười, nhưng điều này sửa chữa nó :) –

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