每次使用broadcastreceiver接收短信时都会开始新的活动

时间:2013-11-08 11:00:52

标签: android android-intent android-activity broadcastreceiver

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

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

请告诉我我在哪里做错了? 阿里

3 个答案:

答案 0 :(得分:0)

尝试使用此标志:

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

请参阅此Intent Documentation

答案 1 :(得分:0)

这是代码。 如果您的活动已经创建但尚未完成或销毁,则此调用将使您的活动进入屏幕而不再创建它。

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

答案 2 :(得分:0)

在AndroidManifest中将您的活动启动模式设为单个实例..

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