2016-08-24 9 views
0

は、どのように私は、外部活動(別のApp)以来 (メイン)アプリケーションの内部でAndroidAnnotations ACTIVITY_を起動することができます。他のアプリからのアクティビティを起動しますか? (AndroidAnnotationsで)

これは私の現在のコードです:

Intent codeScannerActivity = new Intent(PACKAGE, CODE_SCANNER_ACTIVITY); 
codeScannerActivity.putExtra("codeScannerType", CameraUtils.CODE_SCANNER_SINGLE); 
startActivityForResult(codeScannerActivity, Core.ActivityResult.RequestCode.CODE_SCANNER); 

PACKAGE = "main.app.package"

CODE_SCANNER_ACTIVITY = PACKAGE + ".activity.MyActivity_"

しかし、ログはスロー:

android.content.ActivityNotFoundException:いいえ活動{main.app.package.activity.MyActivity_(補足を有する)行為= main.app.package DAT = }

アクティビティが定義されているインテントを処理するために見つかりませんクラス「etc.MyActivity_」とマニフェストのメインアプリケーションインチ

答えて

1

私が間違ってテントを作成して、これが正しい方法です:

Intent codeScannerActivity = new Intent(); 
codeScannerActivity.setComponent(new ComponentName(PACKAGE, CODE_SCANNER_ACTIVITY)); 
codeScannerActivity.putExtra("codeScannerType", CameraUtils.CODE_SCANNER_SINGLE); 
startActivityForResult(codeScannerActivity, Core.ActivityResult.RequestCode.CODE_SCANNER); 
+1

私の答えはあなたが解決策を見つけ出すのを助けてくれてうれしいです。 –

2

あなたは間違ってIntentを構築しています。使用しているコンストラクタの場合、最初のパラメータは、「アクション」とURIとして、第2として解釈されます。このエラーは、アクション "main.app.package"とURI "main.app.package.activity.MyActivity_"に応答できるアクティビティがないことを示しています。

問題を解決するには、まずStarting Another ActivityIntent javadocsをAndroidデベロッパーサイトからお読みください。特に利用可能なコンストラクタのドキュメントを見てください。使用しようとしているものよりも目的に合ったものがもっとあるかもしれません。インテントのドキュメントには、標準のアクティビティアクションのリストがあります。あなたが特定の活動を開始したい場合は、あなたがIntent (Context packageContext, Class<?> cls)を使用する必要があります。

Intent intent = new Intent(this, main.app.package.activity.MyActivity_.class); 
+0

質問を読んでください、私はMyActivity_.classを呼び出すカント –

+0

には理由がありますが、解決策が提供されていないため、解決策で質問を更新しました。 –

関連する問題