【问题标题】:New activity start every time on receiving sms using broadcastreceiver每次使用广播接收器接收短信时都会开始新活动
【发布时间】:2013-11-08 11:00:51
【问题描述】:

我在使用自己的短信应用程序时遇到问题,该应用程序每次收到新短信时都会启动新活动。我想在已打开的活动中填充新短信。 我正在使用

Intent data = new Intent(context, MainActivity.class);
// new activity
data.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

请让我知道我哪里做错了? 阿里

【问题讨论】:

    标签: android android-intent android-activity broadcastreceiver


    【解决方案1】:

    尝试使用这个标志:

    Intent data = new Intent(context, MainActivity.class);
    new activity
    data.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    

    请参考这个Intent Documentation

    【讨论】:

      【解决方案2】:

      这里是代码。 如果您的 Activity 已创建但尚未完成或销毁,则此调用将使您的 Activity 进入屏幕,而无需再次创建它。

      public void showActivity()
      {
       Intent data = new Intent(context, MainActivity.class);
          data.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
          startActivity(data);
      }
      

      【讨论】:

        【解决方案3】:

        在您的 AndroidManifest..中设置您的活动单实例的启动模式。

        <activity
                    android:name="com.example.MainActivity"
                    android:launchMode="singleInstance" />
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-08
          • 1970-01-01
          • 1970-01-01
          • 2011-05-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多