【发布时间】:2014-12-08 19:10:59
【问题描述】:
我有基于 Cordova/Angular 的应用程序,其中安装了 somu 的第 3 方插件。应用程序有一些接收者应该在给定的 URL 上接收运行主要活动。
它工作正常,但从接收方调用 activty 时应用程序并非每次都初始化。
我认为这是 Javascript 初始化的问题,但不是。
关于如何开始活动是否有问题。
Main Activity 已将 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);
我尝试了很多清单文件中的标志和设置的组合,但其中没有一个适合我。
有人可以帮我解决这个问题吗?
我认为该解决方案可以重置正在运行的主要活动并在不同的 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());
}
}
【问题讨论】:
-
当您说“工作正常但从接收方调用活动时应用程序并非每次都初始化”时,主要活动的行为究竟是什么。
-
这是很奇怪的行为,第一次所有插件都可以正常工作,但第二次示例图表或模板视图中的滑块不显示。
-
可能是launchmode(top single)和系统创建的新意图的问题,以启动该launchmode的activies
-
你建议做哪些改变?
标签: android angularjs cordova android-activity broadcastreceiver