我已将ePubReader Android Project作为库包含在名为“Test”的应用程序中,并尝试使用Intent通过“Test”启动ePubReader,如下所示:
测试应用程序:
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent LaunchIntent = new Intent("it.angrydroids.epub3reader.EpubReaderLauncher");
startActivity(LaunchIntent);
}
});
为了处理Intent,我在ePubReader的Manifest XML中创建了一个注册表,如下所示:
ePubReader的清单XML:
<activity
android:name=".EpubReaderLauncher"
android:label="@string/app_name" >
<intent-filter>
<action android:name="it.angrydroids.epub3reader.EpubReaderLauncher" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
当我启动名为Test的应用程序时,我发现Error为No No活动来处理Intent。我调查过,没有找到任何启动图书馆应用程序的线索。
答案 0 :(得分:0)
为什么不将此作为您的意图
Intent intent = new Intent(this, EpubReaderLauncher.class);
startActivity(intent );
答案 1 :(得分:0)
您应该让包管理器创建一个打开该应用程序的正确意图:
Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("it.angrydroids.epub3reader");
if (i == null)
throw new PackageManager.NameNotFoundException();
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
}