【问题标题】: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" />