请帮我解决如何从android中的jar文件调用活动:
我的步骤:
我有一个带有MainActivity.java的AndroidLibrary项目
我有一个带有SplashActivity.java的AndroidApp项目。
在SplashActivity.java类中,我使用这样的代码从AndroidLibrary.jar调用MainActivity.java
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
但是,当我从jar文件调用一个活动时,它会立即失败并出现ClassNotFound异常。
答案 0 :(得分:3)
要从外部.jar调用一个Activity,您需要:
setClassName
:包含您的类的包,以及您需要调用的类的完整路径例如:
final Intent it = new Intent();
it.setClassName("com.example.test", "com.example.test.NameOfYourActivity");
startActivity(it);
如果您想知道如何将Java字节码转换为Dalvik字节码,请访问my blog
感谢。
答案 1 :(得分:0)
Alernate代码片段
final Intent it = new Intent(android.content.Intent.ACTION_VIEW);
it.setClassName(getApplicationContext(), "<complete path of the Activity class>");
startActivity(it);
答案 2 :(得分:0)
另一个新项目中的Android Calling Library活动
Intent callIntent = new Intent(MainActivity.this, com.example.testinglib.Testing.class);
startActivityForResult(callIntent, 0);
注意: startActivity(intent);
无效。
答案 3 :(得分:0)
按照步骤
使用两个String参数调用setClassName:包 包含您的类,以及您的类的完整路径 需要打电话。
开始活动。
那就是它。