2012-06-19 8 views
5

アンドロイドアクティビティインスタンスの一意のIDを取得する必要があります。私は、ActivityManagerがログに書き込む文字列を取っておきたいと思います(例えば:ActivityManager:ActivityRecordのアクティビティの一時停止タイムアウト{450495a0 ...})が、それを取得する方法はわかりません。アンドロイドアクティビティの一意のID

誰かがこの文字列をどのように取得できるか知っていますか?または、各アクティビティインスタンスに別の一意のIDがありますか?

+0

一意性のためにドメインを定義します。 – m0skit0

+0

申し訳ありませんが、あなたはそれが何を意味するのか分かりません。 – anel

+1

どこがユニークですか?ユニークなデバイスですか?地球でユニーク?宇宙でユニーク? – m0skit0

答えて

7

アクティビティのhashCodeを使用することができます。

+0

activitymanagerの文字列を取得するのが良いでしょうが、ハッシュコードはもちろん仕事もします。私はこの特定の文字列を取得することができない場合は、私はハッシュコードを取るだろうが、他の刺す私のためのデバッグが容易になります。 – anel

0

hashCode()方法Activityでは、それはAndroidのアクティビティインスタンスの一意のIDを返しますが、getTaskId()はどこプロジェクトで

1

ごとに一意の値を返すことができません:アクティビティで

MainActivity.class.hashCode(); 

this.hashCode(); 

hashCodeを文脈から受け取ることもできます

1

私はこの質問が少し時代遅れだと知っていますが、何らかの理由でこれが必要でした。

アクティビティのhashCodeメソッドを使用することをお勧めします。皆さんが知っているように、アクティビティはオペレーティングシステムによってクリーンアップできます。これは、再作成されると、以前のインスタンスとは異なるhashCodeを持つ可能性があることを意味します。これを解決するには、getIntent()を使用します。hashCode()

関連する問題