Ok、
そこで、UI要素のライブラリプロジェクトを作成しています。ライブラリには、Androidのアクションバーの下位互換性ライブラリであるActionBarSherlockに基づくいくつかのアクティビティがあります。これらのアクティビティでは、ライブラリプロジェクトで使用しているアクティビティに関係なく、ユーザーを家に連れて行くボタンをアクションバーに配置したいと思います。
いくつかの用語。「ライブラリ」とは、私が取り組んでいるAndroidUIライブラリプロジェクトを指します。「アプリケーション」とは、開発者がライブラリを含めて使用している可能性のあるすべての顧客を指します。
通常、アクティビティを作成して別のアクティビティに電話をかけたい場合は、次のようにします。
intent = new Intent(this, WhateverMyActivityName.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
十分に単純です。しかし、ここに注意が必要です。Androidライブラリは、どのアプリケーションがそれらを使用しているかについてほとんど、またはまったく知識がありません。したがって、「WhateverMyActivityName.class」は、開発者アプリケーションがアクティビティと呼ぶものを予測する方法がないため、役に立ちません。
交換する必要があります
intent = new Intent(this, WhateverMyActivityName.class);
このようなもので
intent = new Intent(this, getApplication().MainActivity().getClass());
または、アプリケーションのメインアクティビティを呼び出す何らかのインテントアクションを使用する可能性があります(Intent.ACTION_MAIN or Intent.CATEGORY_LAUNCHER)
つまり、ライブラリプロジェクトからアプリケーションのメインアクティビティを取得するにはどうすればよいですか?