问题
I have 2 projects. One is my Main Project(A) , and another is a Library Project(B). I want to start an activity which is present in A from an activity which is located in B. How do I do that ?
I Tried startActivity(getApplicationContext(),B.class);
,but
B.class
is not resolved.
How Can I let my library project start an activity of my main project ?
回答1:
You can add custom Action in intent-filter of you activity and start that activity by specifying action
<activity android:name="my.package.MyActivity">
<intent-filter>
<action android:name="my.package.action.MY_ACTION"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="my.package"/>
</intent-filter>
</activity>
start activity with this code:
final Intent intent = new Intent("my.package.action.MY_ACTION");
intent.addCategory(getActivity().getPackageName());
startActivity(getActivity(), intent);
回答2:
You shouldn't need to use an intent filter. The code in Activity A can use
ComponentName cn = new ComponentName(this, "my.package.MyActivity.B");
Intent intent = new Intent().setComponent(cn);
startActivity(this, intent);
to specify the activity B should be started.
来源:https://stackoverflow.com/questions/25605153/start-activity-of-main-project-from-my-library-project