我有基于Cordova / Angular的应用程序,somu安装了第三方插件。应用程序有一些reciver应该接收运行给定URL上的主要活动。
它工作正常,但从接收器调用activty是应用程序不是每次初始化。
我认为这是Javascript初始化的一些问题,但事实并非如此。
关于活动如何开始是否有问题。
主要活动已将launchmode:un Manifest设置为:
android:launchMode="singleTop"
以及其他活动:
android:launchMode="singleInstance"
我可以通过这些标志从接收器开始活动:
//intentOne.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//intentOne.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
//intentOne.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//intentOne.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
我尝试了很多标志和设置fow Manifest文件的组合,但没有人能正确地为我工作。
有人可以帮我解决这个问题吗?
我认为该解决方案可以重置运行主要活动并在不同的URL上再次完全启动它,但我不知道它究竟是怎么做的。
感谢您的帮助。
以下是关于onCreate的代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
// GET PASSED PARAMS (CALLED PHONE NUMBER, ETC)
Bundle b = getIntent().getExtras();
dialedNumber = b.getString("phone_number");
urlToCall = "file:///android_asset/www/index.html#/call-result/"+dialedNumber;
if(dialedNumber != null && !dialedNumber.isEmpty() )
{
super.loadUrl(urlToCall);
} else {
super.loadUrl(Config.getStartUrl());
}
}
答案 0 :(得分:0)
尝试在OnCreate之前覆盖onNewIntent:
@覆盖
protected void onNewIntent(Intent intent){
super.onNewIntent(intent);
setIntent(intent);
}
答案 1 :(得分:0)
使用安装版本v.1.3解决,vhich解决此问题: https://github.com/brodysoft/Cordova-SQLitePlugin