4

私はいくつかのさまざまな広告ネットワークを使用していますが、それらはすべて、マニフェストに独自のアクティビティ名を追加する必要があります。

ユーザーがいつクリックするか知りたいので、のオーバーライドを入れましたが、startActivity(Intent intent)条件付きでいくつかの値を設定するためにインテントオブジェクトを検査する必要があります。

たとえば、tap for tapのネットワークでは、クラスからアクティビティを起動しcom.ads.TapForTapます。クリックすると、startActivity(Intent intent)が呼び出されます。インテントからクラスの名前を取得するにはどうすればよいですか?

ありがとう

4

3 に答える 3

24

指定されたインテント引数のコンポーネントクラス名を使用できます。クラス名が空である可能性があることに注意してください。

intent.getComponent().getClassName()

于 2014-07-07T19:06:14.677 に答える
8

以下の行を試して、現在のアクティビティ名を取得してください。

this.getClass().getSimpleName()
于 2013-01-17T22:56:13.843 に答える
4

次の行は、開始するアクティビティの完全修飾名を返す必要があります。

  • アクティビティを開始するインテント
  • Contextインスタンス(呼び出すことができますgetPackageManager())。

String className = myIntent.resolveActivity (myContext.getPackageManager()).getClassName();

詳細については、のIntentドキュメントを参照してくださいresolveActivity()

于 2013-01-17T23:01:18.593 に答える