2012-06-19 44 views
5

Tôi cần có một id duy nhất của một phiên bản hoạt động trên Android. Tôi muốn lấy chuỗi mà activitymanager ghi trong nhật ký (ví dụ: ActivityManager: Thời gian tạm dừng hoạt động cho HistoryRecord {450495a0 ...}), nhưng tôi không biết cách lấy nó.Id duy nhất của hoạt động android

Có ai đó biết cách tôi có thể nhận chuỗi này không? Hoặc là có một id duy nhất cho mỗi trường hợp hoạt động?

+0

Xác định miền cho tính duy nhất. – m0skit0

+0

Xin lỗi, nhưng tôi không hiểu ý bạn là gì. – anel

+1

Độc đáo ở đâu? Duy nhất trong thiết bị? Độc đáo trong trái đất? Độc đáo trong vũ trụ? – m0skit0

Trả lời

7

Có thể bạn có thể sử dụng hashCode của Hoạt động.

+0

Sẽ rất tuyệt khi nhận được chuỗi của activitymanager, nhưng hashcode dĩ nhiên sẽ thực hiện công việc đó. Nếu tôi không thể nhận được chuỗi cụ thể này, tôi sẽ lấy mã băm, nhưng cái còn lại sẽ làm cho việc gỡ lỗi dễ dàng hơn cho tôi. – anel

0

hashCode() phương pháp trong Activity, nó sẽ trả về một id duy nhất của một thể hiện hoạt động android, nhưng getTaskId() không thể trở về giá trị duy nhất

1

mọi nơi trong dự án của bạn:

MainActivity.class.hashCode(); 

trong Hoạt động

this.hashCode(); 

Bạn thậm chí có thể nhận được hashCode từ ngữ cảnh

1

Tôi biết câu hỏi này hơi lỗi thời, nhưng tôi cần điều này vì một số lý do.

KHÔNG nên sử dụng phương pháp hashCode của hoạt động, nếu bạn muốn giữ nó lâu hơn. Như chúng ta đã biết, các hoạt động có thể được làm sạch bởi hệ điều hành. Điều này có nghĩa, khi chúng được tạo lại, chúng có thể có một hashCode khác với cá thể trước đó. Một giải pháp cho điều này (nếu bạn muốn ở lại với một số nguyên là id) có thể là getIntent(). HashCode()

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