繁体   English   中英

如何启动Android应用程序的特定活动

[英]How to launch a certain activity of an Android app

我想从我的应用程序启动两个特定的活动A_Activity和B_Activity,分别来自应用程序Aapp和Bapp我插入了两个按钮,并在我编写的两个OnClickListener中

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("com.Acompany.Aapp.A_Activity");
ctx.startActivity(intent);

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("com.Bcompany.Bapp.B_Activity");
ctx.startActivity(intent); 

此外,我在AndroidManifest.xml中添加了以下几行

<activity
    android:name="com.Acompany.Aapp.A_Activity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Acompany.Aapp.A_Activity" />
    </intent-filter>
</activity>
<activity
    android:name="com.Bcompany.Bapp.B_Activity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Bcompany.Bapp.B_Activity" />
    </intent-filter>
</activity>

但是我的应用程序崩溃了,在logcat中,我读到“找不到用于处理Intent的活动”我的错误在哪里?

编辑:更确切地说,这两个活动不在我自己的应用程序中

尝试这样。 对于您的家庭活动(首次启动活动),请在清单文件.xml中执行以下操作

<activity
    android:name="com.Acompany.LaunchHomeActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Acompany.LaunchHomeActivity" />
    </intent-filter>
</activity>
<activity android:name="com.Acompany.Aapp.A_Activity">

</activity>
<activity android:name="com.Bcompany.Bapp.B_Activity">

</activity>

不要在所有活动中都包含<intent-filter>

更确切地说,这两项活动不在我自己的应用中

您应该首先调查目标应用程序的清单文件,以检查这些活动是否可以通过导出或提供可公开访问的意图过滤器供他人使用。 看起来您可能根本不被允许做您尝试做的事情。

Intent intent = new Intent(myFirstClass.this, MySecondClassA.class);
startActivity(intent);

B级

Intent intent = new Intent(myFirstClass.this, MySecondClassB.class);
startActivity(intent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM