Я создал aar, и я добавил его в свой проект как модуль. в этом модуле у меня есть HelloWorldActivity, которую я хочу запустить.
мой модуль-манифест выглядит так.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="ir.sibvas.testlibary1.HelloWorldActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="ir.sibvas.testlibary1.HelloWorldActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Теперь я могу начать эту деятельность из моего проекта, используя этот код
Intent intent = new Intent("ir.sibvas.testlibary1.HelloWorldActivity");
startActivity(intent);
но, как вы видите, этот код неявный, а проблема с неявным вызовом заключается в том, что если я использую этот модуль более чем в одном приложении, оба установленные на пользовательском устройстве, он отобразит диалог выбора приложения для пользователя. Итак, как сделать этот вызов явным, не позволяя пользователю переключать приложение?
этот код не будет работать, поскольку HelloWorldActivity не находится в том же пакете, что и активность вызова
Intent intent = new Intent(this, HelloWorldActivity.class);
startActivity(intent);
Я действительно не хочу менять свой модуль для каждого проекта, который его использует.