Androidエラー「明示的なアクティビティクラスが見つかりません」

私はいくつかのパッケージでアンドロイドプロジェクトを持っています。この場合のパッケージの構造はcom.WAPP.SetLocationは、実行したいアクティビティを含むパッケージです。

私のマニフェストでは、com.WAPPは基本パッケージとみなされます:


私の活動は、私のマニフェストで次のように宣言されています:



メイン画面のアクティビティは、com.WAPPパッケージ内にあるので、うまく表示されます。しかし、私がsetLocationActivityを実行しようとすると、明示的なクラスエラーを見つけることができなくなります。インテントパラメータの設定方法は次のとおりです。

Intent i = new Intent();
            i.setClassName("com.WAPP.SetLocation",
                           "com.WAPP.SetLocation.setLocationActivity");
            startActivity(i);
ベストアンサー

最初のパラメータは、アクティビティがあるパッケージではなくアプリケーションパッケージです。

このようなアクティビティを呼び出すことができます。

Intent i = new Intent();
i.setClassName("com.WAPP",
               "com.WAPP.SetLocation.setLocationActivity");
startActivity(i);

SYLARRRがAndroidにあなたのためにそれを自動的に把握させることが示唆されているので、それが好ましい。したがって、コール..

startActivity(new Intent(this, setLocationActivity.class));

パッケージ名をすべて小文字にし、クラス名をCamelCaseにすることは、Java標準に従ってお勧めします。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です