別のクラス内からメインアクティビティを表示しようとしていますが、問題はその時点でクラス名がわからないことです(私が書いているコードはAndroidライブラリ内にあり、メインアクティビティは具体的なものですアプリ)。
実行時にメインアクティビティクラスを取得する方法、またはメインアクティビティを起動するインテントを作成するにはどうすればよいですか?
私はこれを試しました:
new Intent(Intent.ACTION_MAIN);
しかし、何も起こりません。
別のクラス内からメインアクティビティを表示しようとしていますが、問題はその時点でクラス名がわからないことです(私が書いているコードはAndroidライブラリ内にあり、メインアクティビティは具体的なものですアプリ)。
実行時にメインアクティビティクラスを取得する方法、またはメインアクティビティを起動するインテントを作成するにはどうすればよいですか?
私はこれを試しました:
new Intent(Intent.ACTION_MAIN);
しかし、何も起こりません。
ライブラリを初めて使用するときにライブラリを初期化するときに、メインアクティビティの名前を渡してみませんか?
これは完璧にフィットしているようです:PackageManager.getLaunchIntentForPackage()
。ただし、APIレベル3であることに注意してください。
参照しているメインアクティビティのマニフェストに次のインテントを含めます。
<intent-filter>
<action android:name="com.android.myproject.THIS_IS_MY_ACTION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
そして、あなたはこのクラスを使用して呼び出すことができます:
startActivity(new Intent("com.android.myproject.THIS_IS_MY_ACTION"));
メインクラスを記述するために、いくつかのインターフェイス(またはおそらく抽象クラス)を実装してみてください。
そして、ライブラリに書き込んでいるクラスで、インターフェイスのオブジェクトをインスタンス化します。