Emoji Battery · Cập nhật lần cuối: 16 tháng 9, 2026
Ứng dụng này không có tài khoản, không đăng nhập, và không hỏi tên, email hay số điện thoại của bạn.
Ứng dụng dùng quyền Trợ năng để vẽ icon pin lên thanh trạng thái. Nó không đọc nội dung màn hình của bạn — mục 1 giải thích điều này bằng cấu hình cụ thể, không phải bằng một lời hứa.
Thiết lập và ảnh của bạn nằm trên máy bạn. Chỉ có hai nơi nhận dữ liệu: Google (quảng cáo và đo lường, sau khi bạn đồng ý), và máy chủ nội dung của chúng tôi — nơi này chỉ nhận một yêu cầu khi bạn tự bấm nút cập nhật.
Bên chịu trách nhiệm dữ liệu: cá nhân phát hành ứng dụng Emoji Battery. Liên hệ: mctechnologies.global@gmail.com
Thanh trạng thái thuộc về hệ điều hành. Trên Android, chỉ một Accessibility Service được phép tạo cửa sổ loại TYPE_ACCESSIBILITY_OVERLAY — loại cửa sổ duy nhất có thể nằm bên trên thanh trạng thái của hệ thống. Đó là lý do duy nhất ứng dụng này xin quyền Trợ năng.
Không cấp quyền đó thì tính năng chính không hoạt động, nhưng các phần khác — widget pin và việc xuất ảnh — vẫn dùng được bình thường.
canRetrieveWindowContent được đặt false. Đây không phải một lời hứa suông: đó là một thiết lập do Android thi hành — hệ điều hành không giao nội dung cửa sổ cho service, kể cả khi ứng dụng muốn.typeWindowStateChanged, nghĩa là "cửa sổ đang ở trước vừa thay đổi". Thông tin duy nhất ứng dụng đọc từ sự kiện đó là tên gói của ứng dụng đang mở.canTakeScreenshot. Ảnh mà bạn xuất ra là do ứng dụng tự vẽ lại thanh pin, không phải ảnh chụp màn hình của bạn.Nó được so với danh sách "ẩn trang trí khi đang ở trong những ứng dụng này", rồi bỏ đi. Nó không được ghi vào bộ nhớ lâu dài, không vào bản ghi lỗi, và không được gửi ra khỏi máy.
Bạn tắt quyền này bất cứ lúc nào: Cài đặt → Trợ năng → Emoji Battery.
Những mục dưới đây được lưu trong vùng riêng của ứng dụng trên máy bạn. Không mục nào được gửi tới chúng tôi — chúng tôi không có máy chủ nào giữ dữ liệu người dùng.
| Lưu gì | Là gì |
|---|---|
| Thiết lập & bộ đã lưu | Icon, chủ đề, sticker, pet, hiệu ứng sạc, hình khuyết mà bạn chọn |
| Ảnh nền thanh | Bản đã cắt của tấm ảnh bạn chọn |
| Icon dùng gần đây | Tối đa 20 mục, để bạn tìm lại nhanh |
| Trạng thái quảng cáo | Số lần đã hiện và thời điểm, hạn của "Mở tất cả 24 giờ", các mục bạn đã mở bằng quảng cáo có thưởng |
| Đệm nội dung | Các tệp danh mục tải từ máy chủ nội dung, kèm ETag để lần sau không tải lại |
| Danh sách ẩn trang trí | Tên gói của những ứng dụng bạn đã bật trong Cài đặt → Trang trí → Ẩn trang trí trong ứng dụng — chỉ những mục bạn bật, không phải cả danh sách ứng dụng |
| Lựa chọn đồng thuận | Chuỗi đồng thuận theo chuẩn IAB TCF, do màn hình đồng thuận của Google ghi vào |
Sao lưu. Ứng dụng cho phép sao lưu, nên Android có thể đưa các thiết lập trên vào bản sao lưu của máy bạn, theo cài đặt sao lưu mà bạn chọn trên Android. Bản sao lưu đó nằm trong tài khoản Google của bạn và do bạn kiểm soát, không phải của chúng tôi.
Ứng dụng có một tính năng để bạn tắt trang trí trong những ứng dụng nhất định — ví dụ khi đang chơi game hay quay phim. Để bày ra cho bạn chọn, ứng dụng cần đọc danh sách ứng dụng trên máy. Ba điều về việc đọc này:
QUERY_ALL_PACKAGES — quyền cho phép thấy mọi gói trên máy, kể cả những gói bạn không mở được. Một ứng dụng trang trí không có lý do gì cần đến nó.Câu này cũng được ghi ngay trên chính màn hình đó, không chỉ ở đây.
Ứng dụng đọc phần trăm pin và trạng thái sạc từ hệ điều hành, để biết phải vẽ gì. Thông tin này không được gửi đi đâu.
Riêng tính năng "Battery Troll" hiển thị một phần trăm giả do chính bạn đặt. Nó chỉ để cho vui và không phản ánh pin thật của máy — đừng dựa vào nó.
| Bên nhận | Nhận gì | Để làm gì | Khi nào |
|---|---|---|---|
| Google AdMob | Advertising ID, địa chỉ IP, thông tin thiết bị ở mức chung, tương tác của bạn với quảng cáo | Hiển thị quảng cáo, chống gian lận, đo hiệu quả | Sau khi bạn trả lời màn hình đồng thuận |
| Google Analytics for Firebase | App Instance ID, các sự kiện liệt kê ở mục 6, địa chỉ IP | Biết chỗ nào trong ứng dụng bị lỗi hoặc bị bỏ giữa đường | Chỉ sau khi bạn đồng ý |
| Firebase Remote Config | Installation ID | Đổi vài con số như tần suất quảng cáo và hạn mức, mà không cần bạn cập nhật ứng dụng | Chỉ sau khi bạn đồng ý |
| Máy chủ nội dung của chúng tôi | Địa chỉ IP, User-Agent | Tải gói nội dung mới | Chỉ khi bạn tự bấm "Cập nhật từ CDN" trong Cài đặt |
| Google Play | Thông tin thanh toán | Xử lý giao dịch nếu bạn mua | Chỉ khi bạn mua |
Đo lường bị tắt ngay trong tệp cấu hình của ứng dụng, và chỉ được bật sau khi màn hình đồng thuận của Google trả về kết quả. Remote Config chỉ gọi mạng sau khi màn hình đồng thuận đã có kết quả — dù bạn đồng ý hay từ chối — và chỉ để nhận cấu hình, trong đó có công tắc tắt toàn bộ quảng cáo; lần gọi đó gửi Installation ID của bản cài (xem bảng trên). Nếu bạn từ chối, đo lường không chạy — và ứng dụng vẫn dùng được đầy đủ.
Chúng tôi không có máy chủ nhận dữ liệu người dùng. Chúng tôi chỉ xem những báo cáo tổng hợp mà Google cung cấp — không truy cập được dữ liệu của một người cụ thể. Chúng tôi không bán dữ liệu, không chia sẻ với môi giới dữ liệu, và không có mạng quảng cáo nào khác trong ứng dụng.
Cách Google xử lý dữ liệu này: Chính sách bảo mật của Google · Google và quảng cáo · Quyền riêng tư và bảo mật trong Firebase
Đây là toàn bộ danh sách sự kiện mà ứng dụng gửi. Trong mã nguồn, tên sự kiện là một danh sách cố định chứ không phải những chuỗi rải rác khắp nơi — nên danh sách này kiểm chứng được, thay vì chỉ để bạn tin.
Chỉ hai tham số được gửi kèm: kind (loại hạn mức bạn vừa chạm) và placement (vị trí quảng cáo). Cả hai đều là tên của một lựa chọn có sẵn trong ứng dụng.
Không sự kiện nào mang nội dung do bạn tạo ra — không tên bộ bạn tự đặt, không đường dẫn tệp, không nội dung bạn nhập. Hàm ghi sự kiện chỉ nhận đúng hai tham số kể trên và không nhận chuỗi tự do, nên điều này bị ngăn bởi chính kiểu dữ liệu của mã nguồn, không phải bởi một quy ước có thể quên.
Ngoài danh sách trên, Google Analytics for Firebase tự thu thập một số sự kiện chung — chẳng hạn lần mở đầu tiên, bắt đầu phiên, cập nhật ứng dụng, và màn hình đang xem. Danh sách đó do Google định nghĩa: các sự kiện Google tự thu thập.
| Mã | Dùng để | Bạn xoá bằng cách |
|---|---|---|
| Advertising ID | Quảng cáo | Cài đặt Android → Google → Quảng cáo → đặt lại hoặc xoá |
| App Instance ID | Nối các sự kiện đo lường của cùng một bản cài | Ứng dụng tự đặt lại khi bạn rút đồng thuận; hoặc xoá dữ liệu ứng dụng |
| Installation ID | Nhận cấu hình từ Remote Config | Mất khi bạn xoá dữ liệu ứng dụng hoặc gỡ ứng dụng |
Ba mã này khác nhau. Đặt lại advertising ID không đặt lại hai mã còn lại — đó chính là lý do chúng được ghi riêng ở đây thay vì gộp thành một dòng.
Không mã nào trong ba mã trên là số IMEI, số serial, địa chỉ MAC, hay bất kỳ định danh cố định nào của máy. Ứng dụng không đọc những thứ đó.
Tại Khu vực Kinh tế Châu Âu, Vương quốc Anh và Thuỵ Sĩ, ứng dụng hiển thị màn hình đồng thuận của Google trước khi gọi quảng cáo hoặc bật đo lường. Cơ sở pháp lý ở đây là sự đồng ý của bạn, và bạn rút lại được bất cứ lúc nào — xem mục 9.
Ở các vùng khác, cơ sở pháp lý là:
Với người dùng tại Việt Nam, chúng tôi xử lý dữ liệu cá nhân theo Nghị định 13/2023/NĐ-CP về bảo vệ dữ liệu cá nhân.
Chúng tôi trả lời trong vòng 30 ngày.
Ứng dụng không dành cho người dưới 13 tuổi, và không được thiết kế hay tiếp thị hướng tới trẻ em. Tại Khu vực Kinh tế Châu Âu, nếu bạn chưa đủ tuổi đồng thuận số theo luật nước bạn (13 đến 16 tuỳ nước), hãy dùng ứng dụng với sự đồng ý của người có quyền giám hộ.
Chúng tôi không cố ý thu thập dữ liệu của trẻ em. Nếu bạn cho rằng chúng tôi đã làm vậy, hãy viết cho chúng tôi và chúng tôi sẽ xoá.
Chúng tôi cập nhật trang này khi ứng dụng thay đổi. Ngày ở đầu trang là ngày sửa gần nhất.
Nếu có thay đổi mở rộng những gì được thu thập, chúng tôi sẽ hỏi lại đồng thuận trong ứng dụng, chứ không chỉ sửa trang này rồi coi như bạn đã đồng ý.
Emoji Battery — cá nhân phát hành
mctechnologies.global@gmail.com
Emoji Battery · Last updated: 16 September 2026
This app has no accounts, no sign-in, and never asks for your name, email or phone number.
The app uses the Accessibility permission to draw a battery icon on your status bar. It does not read your screen contents — section 1 explains this with the actual configuration, not with a promise.
Your settings and photos stay on your device. Only two parties receive any data: Google (ads and measurement, after you consent), and our content server — which receives a single request only when you tap the update button yourself.
Data controller: the individual publisher of Emoji Battery. Contact: mctechnologies.global@gmail.com
The status bar belongs to the operating system. On Android, only an Accessibility Service may create a TYPE_ACCESSIBILITY_OVERLAY window — the one window type that can sit above the system status bar. That is the only reason this app requests the Accessibility permission.
If you decline it, the main feature will not work, but the rest — the battery widget and image export — works normally.
canRetrieveWindowContent is set to false. This is not a promise: it is a setting Android enforces — the operating system does not hand window contents to the service, even if the app asked.typeWindowStateChanged, meaning "the foreground window just changed". The only piece of information the app reads from that event is the package name of the app in the foreground.canTakeScreenshot. The images you export are drawn by the app itself, not captured from your screen.It is compared against your list of "hide the decoration while I'm in these apps", then discarded. It is not written to persistent storage, not written to logs, and never sent off the device.
You can turn this permission off at any time: Settings → Accessibility → Emoji Battery.
The items below are stored in the app's private area on your device. None of it is sent to us — we operate no server that holds user data.
| Stored | What it is |
|---|---|
| Settings & saved looks | The icon, theme, stickers, pets, charging effects and notch shapes you chose |
| Status bar background photo | The cropped version of the photo you picked |
| Recently used icons | Up to 20, so you can find them again |
| Ad state | How many ads were shown and when, when your 24-hour pass expires, which items you unlocked by watching a rewarded ad |
| Content cache | Catalogue files downloaded from the content server, with ETags so they aren't downloaded twice |
| Hidden-apps list | The package names of the apps you switched on in Settings → Decoration → Hide decoration in apps — only the ones you switched on, not the whole list of your apps |
| Consent choices | The IAB TCF consent string, written by Google's consent screen |
Backup. The app allows backup, so Android may include the settings above in your device's backup, according to the backup settings you chose on Android. That backup lives in your Google account and is under your control, not ours.
The app has a feature that lets you turn the decoration off inside particular apps — while gaming or recording video, for instance. To offer you that choice, the app needs to read the list of apps on your device. Three things about that read:
QUERY_ALL_PACKAGES, the permission that reveals every package on a device, including ones you cannot open. A decoration app has no business needing that.This is also stated on that screen itself, not only here.
The app reads the battery percentage and charging state from the operating system, so it knows what to draw. This information is not sent anywhere.
The "Battery Troll" feature displays a fake percentage that you set yourself. It is for fun only and does not reflect your real battery — do not rely on it.
| Recipient | Receives | Purpose | When |
|---|---|---|---|
| Google AdMob | Advertising ID, IP address, coarse device information, your interactions with ads | Serving ads, fraud prevention, measuring performance | After you answer the consent screen |
| Google Analytics for Firebase | App Instance ID, the events listed in section 6, IP address | Finding where the app breaks or where people give up | Only after you consent |
| Firebase Remote Config | Installation ID | Adjusting numbers such as ad frequency and limits without making you update the app | Only after you consent |
| Our content server | IP address, User-Agent | Downloading new content packs | Only when you tap "Update from CDN" in Settings |
| Google Play | Payment details | Processing the transaction if you buy something | Only if you buy |
Measurement is disabled in the app's own configuration file, and is only switched on after Google's consent screen returns an answer. Remote Config only makes a network call after the consent screen has returned an answer — whether you consent or decline — and only to receive configuration, including the switch that turns off all ads; that call sends the installation's Installation ID (see the table above). If you decline, measurement does not run — and the app still works fully.
We operate no server that receives user data. We only see the aggregate reports Google provides; we cannot access any individual person's data. We do not sell data, do not share it with data brokers, and there is no other ad network in the app.
How Google handles this data: Google Privacy Policy · How Google uses data for advertising · Privacy and Security in Firebase
This is the entire list of events the app sends. In the source code, event names are a fixed list rather than strings scattered across the codebase — so this list is verifiable rather than merely asserted.
Only two parameters are ever attached: kind (which limit you just hit) and placement (which ad slot). Both are the name of a choice that already exists inside the app.
No event carries content you created — not the names you give your saved looks, not file paths, not text you typed. The event-logging function accepts only those two parameters and does not accept free-form strings, so this is prevented by the code's type system rather than by a convention someone could forget.
In addition to the list above, Google Analytics for Firebase collects some general events on its own — for example first open, session start, app update, and the current screen. That list is defined by Google: events Google collects automatically.
| Identifier | Used for | You clear it by |
|---|---|---|
| Advertising ID | Advertising | Android Settings → Google → Ads → reset or delete |
| App Instance ID | Linking measurement events from the same installation | The app resets it itself when you withdraw consent; or clear app data |
| Installation ID | Receiving configuration from Remote Config | Gone when you clear app data or uninstall |
These three are different. Resetting your advertising ID does not reset the other two — which is exactly why they are listed separately here instead of collapsed into one line.
None of the three is an IMEI, serial number, MAC address, or any other permanent device identifier. The app does not read those.
In the European Economic Area, the United Kingdom and Switzerland, the app shows Google's consent screen before requesting any ad or enabling measurement. The legal basis there is your consent, and you can withdraw it at any time — see section 9.
Elsewhere, the legal bases are:
For users in Vietnam, we process personal data in accordance with Decree 13/2023/ND-CP on personal data protection.
We reply within 30 days.
The app is not intended for anyone under 13, and is not designed or marketed towards children. In the European Economic Area, if you are below your country's digital age of consent (13 to 16 depending on the country), please use the app with the consent of your guardian.
We do not knowingly collect children's data. If you believe we have, write to us and we will delete it.
We update this page when the app changes. The date at the top is when it was last edited.
If a change expands what is collected, we will ask for consent again inside the app, rather than editing this page and treating you as having agreed.
Emoji Battery — individual publisher
mctechnologies.global@gmail.com