【问题标题】:Android: How to force close activity and start again from receier?Android:如何强制关闭活动并从接收器重新开始?
【发布时间】: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


【解决方案1】:

尝试在 OnCreate 之前覆盖 onNewIntent:

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

setIntent(intent);

}

【讨论】:

  • 我在创建之前尝试过放置但结果还是一样,我应该在这里使用条件吗?
【解决方案2】:

使用安装版本 v. 1.3 解决了这个问题: https://github.com/brodysoft/Cordova-SQLitePlugin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多