2011-08-21 24 views
14

Trên người dùng Gingerbread có thể báo cáo ứng dụng về mức sử dụng pin của họ, bằng cách đi tới Cài đặt -> Giới thiệu về điện thoại -> Sử dụng pin, sau đó chạm vào một ứng dụng cụ thể.Báo cáo sử dụng pin Android dành cho nhà phát triển

Câu hỏi của tôi là, với tư cách là nhà phát triển, tôi có thể xem các báo cáo này ở đâu?

Chúng có vẻ rất hữu ích vì chúng chứa thông tin về loại khóa thức bạn có thể bị rò rỉ.

+2

Khóa đánh thức? Sử dụng 'adb shell dumpsys power' hoặc trên các thiết bị bắt nguồn từ xem https://market.android.com/details?id=me.kennydude.dev.urlopener&e -Mọi thứ khác như trên web sẽ là một cuộc xâm lược vào quyền riêng tư của người dùng:) –

Trả lời

8

Rất tiếc, tôi không cho rằng thông tin này hiện có sẵn. Nó đang được thu thập, nhưng tại thời điểm này không có giao diện người dùng cho các nhà phát triển để lấy nó. (Điều này cũng đúng đối với các báo cáo sắp tới về các dịch vụ đang chạy.)

+1

Thực tế nó không có sẵn cho các nhà phát triển; Tôi đã thử nghiệm tuần này bằng cách viết một ứng dụng CPU-hogging, sau đó báo cáo việc sử dụng pin. Tôi đã thấy báo cáo ANR mà tôi đã gửi trong Bảng điều khiển dành cho nhà phát triển thị trường chứ không phải báo cáo pin. Chắc chắn thông tin này sẽ hữu ích cho các nhà phát triển để nhận, để chứng thực ý kiến ​​của thị trường phàn nàn về việc sử dụng pin cao và cải thiện ứng dụng của họ nói chung. –

+0

cảm ơn câu trả lời! Tôi hy vọng trong tương lai gần, chúng tôi sẽ có thể xem cả báo thức dịch vụ và khóa báo động. xin lỗi về tiền thưởng tôi đã ra khỏi khu vực internet và không thể đăng nhập: ( – Erdal

+0

2 năm đã trôi qua. Có bất cứ điều gì thay đổi? Các nhà phát triển có thể đo lường tác động của mã cụ thể trên pin không? –

5

Kiểm tra PowerUsageSummaryPowerUsageDetail từ subdir fuelgauge trong Settings package. Các phương thức có liên quan là reportBatteryUse() trong PowerUsageDetail và processAppUsage() trong PowerUsageSummary.

Hầu hết các thông tin xuất phát từ một đối tượng mstats mà được tạo ra bởi một cuộc gọi API nội bộ:

import com.android.internal.os.BatteryStatsImpl; 
... 
mStats = com.android.internal.os.BatteryStatsImpl.CREATOR 
     .createFromParcel(parcel); 
mStats.distributeWorkLocked(BatteryStats.STATS_SINCE_CHARGED); 

Tôi không bao giờ cố gắng để gọi những phương pháp từ ứng dụng không thuộc hệ thống riêng của bạn, vì vậy bạn phải tìm hiểu nếu nó hoạt động.

+0

thú vị nhưng nó trả lời một câu hỏi khác. Đây có lẽ là cách họ thu thập số liệu thống kê đó, nhưng câu hỏi của tôi là, sau khi người dùng gửi các thống kê đó tới Google, có nơi nào chúng tôi, nhà phát triển có thể xem chúng không? – Erdal

+0

Bạn có chắc chắn rằng những gì bạn hiểu trong "báo cáo" không báo cáo việc sử dụng pin? Đó không chỉ là tính năng ghi lỗi và ghi nhật ký cũng xuất hiện trên "Đóng quân" của một Ứng dụng. Các báo cáo này được báo cáo trực tiếp cho chủ sở hữu của ứng dụng thông qua thị trường. – Flow

+1

Tôi khá chắc chắn đó là dữ liệu sử dụng pin vì tôi đã xem bản xem trước những gì tôi đang gửi. Bạn có thể tự mình thử nếu bạn có điện thoại chạy bánh gừng. – Erdal

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