需要从我开发的App启动Library项目

时间:2014-01-15 09:10:50

标签: android android-intent library-project

我已将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。我调查过,没有找到任何启​​动图书馆应用程序的线索。

2 个答案:

答案 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) {
}