Android activity-alias 的另一个用途

391 阅读1分钟

前置条件 通过activity-alias 启动指定Activity

val intent =  Intent()
intent.component = ComponentName(this,"com.gy.commonviewdemo.test")
startActivity(intent)
<activity-alias
    android:name="com.gy.commonviewdemo.test"
    android:targetActivity=".ActivityAliasTestActivity"/>

上述代码会启动ActivityAliasTestActivityzh

解决问题:微信登陆的时候需要在 包名.wxapi 下创建 WXEntryActivity, 可以通过activity-alias将这个路径指定到任意的activity。这样就不限制WXEntryActivity的创建位置了。

<activity-alias
    android:name="${applicationId}.wxapi.WXPayEntryActivity"
    android:exported="true"
    android:launchMode="singleInstance"
    android:targetActivity="com.jarvan.fluwx.wxapi.FluwxWXEntryActivity"
    android:theme="@style/DisablePreviewTheme" />