我正在构建应用的多个productFlavors。当我启动一个intent并只设置包时,应用程序启动正常。当我设置动作时它不再有效。
最终目标是能够在两个应用之间来回切换。我对Android比较陌生,所以我很感激任何帮助!我相信包名是正确的所以我不确定为什么行动不起作用。不确定哪个部分是我应该关注的。
我正在更改appId,这可能会改变packageName,以便android知道它们是独立的应用程序。
Intent intent = new Intent();
intent.setAction("fitpay.issuerDemo.authenticate_user"); //without this line it goes to the correct activity although i
intent.setPackage("fitpay.issuerDemo");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, A2A_VERIFICATION_REQUEST);
}
风味AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<application>
<activity
android:name="fitpay.pagare.activities.SimulatedAppToAppActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="fitpay.issuerDemo.generate_auth_code" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="fitpay.issuerDemo.authenticate_user" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="fitpay.issuerDemo.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/image_path" />
</provider>
</application>
App .gradle:
productFlavors {
wvUI {
dimension "default"
}
nativeUI {
dimension "default"
}
issuerDemo {
applicationId "fitpay.issuerDemo"
dimension "default"
}
}
sourceSets {
wvUI {
java {
srcDirs('src/wvUI/java', 'src/qa/java')
}
}
nativeUI {
java {
srcDirs('src/nativeUI/java', 'src/qa/java')
}
}
issuerDemo {
java {
srcDirs('src/issuerDemo/java', 'src/qa/java')
}
}
}
的活动:
package fitpay.pagare.activities;
public class SimulatedAppToAppActivity extends BaseActivity {
}