Tôi muốn rằng khi tôi bắt đầu bất kỳ ứng dụng nào trong thiết bị thì nó sẽ thông báo cho tôi (theo lập trình). Có thể nhận thông báo về bất kỳ ứng dụng nào khi chạy (khởi chạy) hay không.Có thể nhận thông báo khi bất kỳ ứng dụng nào bắt đầu trong thiết bị Android
Trả lời
Không, điều này không thực sự có thể sử dụng SDK công khai.
Tốt nhất, bạn có thể liên tục tiếp tục bỏ phiếu số ActivityManager cho quy trình nền trước nằm ngay trên đầu và giữ nhật ký đó. Tuy nhiên, nó không phải là phương pháp chính xác hoặc hiệu quả nhất.
Bạn có thể nhận quy trình chạy hiện tại theo ActivityManager#getRunningAppProcesses. Nhưng nó chắc chắn là không thể nhận được thông báo khi ứng dụng bắt đầu mà không nhận được thiết bị của bạn bắt nguồn từ.
Khi Android khởi động một ứng dụng mới, hợp tử sẽ ngã ba một quá trình mới:
static void Dalvik_dalvik_system_Zygote_forkAndSpecialize(const u4* args,
JValue* pResult)
{
pid_t pid;
pid = forkAndSpecializeCommon(args, false);
RETURN_INT(pid);
}
Bạn có thể chỉnh sửa và thay thế các libdvm.so.
Bất kỳ chương trình được liên kết động đang xảy ra để truy cập các tập tin nhất định khi khởi động, chẳng hạn như mối liên kết động. Đây sẽ là vô dụng cho các mục đích an ninh vì nó sẽ không kích hoạt trên một chương trình liên kết tĩnh, nhưng vẫn có thể quan tâm:
#include <stdio.h>
#include <sys/inotify.h>
#include <assert.h>
int main(int argc, char **argv) {
char buf[256];
struct inotify_event *event;
int fd, wd;
fd=inotify_init();
assert(fd > -1);
assert((wd=inotify_add_watch(fd, "/lib/ld-linux.so.2", IN_OPEN)) > 0);
printf("Watching for events, wd is %x\n", wd);
while (read(fd, buf, sizeof(buf))) {
event = (void *) buf;
printf("watch %d mask %x name(len %d)=\"%s\"\n",
event->wd, event->mask, event->len, event->name);
}
inotify_rm_watch(fd, wd);
return 0;
}
Điều này đòi hỏi đặc quyền root, như vậy với JNI và một thiết bị bắt nguồn từ, bạn sẽ có thể để làm điều này.
- 1. Nhận mã thông báo thiết bị cho thông báo đẩy sau khi ứng dụng bị xóa
- 2. cách nhận mã thông báo thiết bị?
- 3. Có bất kỳ thông báo nào nhận được trước khi ứng dụng đã nhập vào nền không?
- 4. Cách nhận thông báo của Android khi ứng dụng bị đóng?
- 5. Có thể nhận mã thông báo thiết bị ngay cả khi Thông báo đẩy không được bật không?
- 6. Tôi có thể nhận được thông báo hay không, khi một ngày mới bắt đầu?
- 7. Cách nhận thông báo khi thông báo được thông báo
- 8. Thông báo ứng dụng Facebook trên thiết bị di động
- 9. Tôi có thể phân phối Ứng dụng của mình cho bất kỳ thiết bị nào không có UDID không?
- 10. Chạy ứng dụng của tôi ở chế độ nền khi tôi bắt đầu công suất thiết bị trên trong android
- 11. Nhận thông báo GCM của Android khi ứng dụng ở trạng thái dừng
- 12. Khởi chạy ứng dụng khi thông báo GCM nhận được
- 13. Chỉ nhận thông báo Newsstand khi ứng dụng đang chạy
- 14. Thông báo của Android sau khi Ứng dụng được cài đặt trên thiết bị - Cách thực hiện?
- 15. Thông báo cập nhật ứng dụng Android
- 16. Thực thi mã khi thông báo Android bị hủy
- 17. Mã thông báo thiết bị APN có duy nhất cho từng ứng dụng riêng lẻ không?
- 18. Thông báo trong Phonegap Trong khi Ứng dụng không chạy
- 19. Tôi có thể nhận ID thiết bị Android thông qua trang web trên thiết bị di động không?
- 20. Làm thế nào tôi có thể bắt đầu màn hình thông tin ứng dụng Android theo chương trình?
- 21. Có thiết bị đầu cuối GTK nào có thể được sử dụng trong Windows không?
- 22. Cá thể ứng dụng có được tạo trước bất kỳ Hoạt động nào không?
- 23. Cách nhận trạng thái sử dụng dữ liệu Nền ứng dụng bất kỳ trong Android
- 24. Chương trình Java chấm dứt bất ngờ mà không có bất kỳ thông báo lỗi nào
- 25. Nhận thông báo khi một đoạn video bắt đầu hoặc dừng trong UIWebView
- 26. NSWindow không nhận được bất kỳ thông báo khi nó mất tập trung
- 27. Cách nhận thông báo thiết bị Plug & Play không có dạng cửa sổ
- 28. ddd bị treo khi bắt đầu
- 29. Android báo động bị hủy sau khi đóng ứng dụng
- 30. Ứng dụng Android không bắt đầu từ phím tắt