如何在App(主)内启动AndroidAnnotations Activity_ 自外部活动(另一个应用程序)。
这是我目前的代码:
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:找不到处理Intent的活动{act = main.app.package dat = main.app.package.activity.MyActivity _ (已额外的)}
活动在Manifest的主应用程序中定义,类别为“etc.MyActivity _”。
答案 0 :(得分:2)
您正在错误地构建Intent
。对于您正在使用的构造函数,第一个参数被解释为“action”,第二个参数被解释为URI。该错误表示没有可以响应操作“main.app.package”和URI“main.app.package.activity.MyActivity _”的活动。
要解决此问题,请先阅读Android Developer网站上的Starting Another Activity和Intent javadocs。特别是查看可用构造函数的文档。可能有一个更适合您的目的而不是您尝试使用的目的。 Intent文档包含标准Activity操作的列表。如果您要开始特定活动,则应使用Intent (Context packageContext, Class<?> cls)
:
Intent intent = new Intent(this, main.app.package.activity.MyActivity_.class);
答案 1 :(得分: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);