2012-04-25 120 views
0

我有一个alarmservice是一个intentservice设置警报和一个onAlarmReceiver广播接收器,开始通知。在我的通知中,我设置了一个意图到我的应用程序的主页面。当人们升级我的应用程序时,通知仍然正常工作,但它有时并不总是将它们重定向到上次打开的最后一页。似乎悬而未决的意图根本没有启动。这是否意味着存在导致应用程序加载之前状态的异常?或应用程序被杀害?显然它会回到以前的状态。我甚至将待定意图的活动更改为其他内容,并且仍然存在这样的问题....我怎样才能看到设备中发生了什么? 我这是怎么叫的通知广播:通知未启动活动

AlarmManager mgrAlarm= (AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE); 
Intent intentAlarm = new Intent(ctxt, OnAlarmReceiver.class); 
sender = PendingIntent.getBroadcast(ctxt, ++alarmCounter, intentAlarm, 0); 
mgrAlarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender); 

,这是我onAlarmReceiver

Intent welcomeIntent = new Intent(context, WelcomeActivity.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, welcomeIntent, Intent.FLAG_ACTIVITY_NEW_TASK); 

清单:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />  
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 

<application 
    android:name="pvApplication" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" android:debuggable="false"> 
    <activity 
     android:name=".WelcomeActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".unistall"></activity> 
    <activity android:name=".Preferences" android:label="@string/set_preferences" ></activity> 
    <activity android:name=".Questionnaire" ></activity> 
    <activity android:name=".AfterSubmission"></activity> 
    <activity android:name=".UserDemographics"></activity> 
    <activity android:name=".Instructions"></activity> 
    <activity android:name=".unistall"></activity> 
    <activity android:name=".PersonalityTest"></activity> 
    <activity android:name=".finalQuestions"></activity>     
    <receiver android:name=".OnBootReceiver" android:enabled="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 
    <receiver android:name=".OnAlarmReceiver" android:enabled="true" ></receiver>   
    <receiver android:name=".OnNetworkReceiver" > 
     <intent-filter> 
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
      <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/> 
     </intent-filter>    
    </receiver> 
    <service android:name=".updaterService" /> 
    <service android:name=".alarmService" /> 
<receiver android:name=".onAppReplaced"> 
    <intent-filter> 
    <action android:name="android.intent.action.PACKAGE_REPLACED" /> 
    <data android:scheme="package"/>   
    </intent-filter> 
</receiver> 

</application> 

回答

1

FLAG_ACTIVITY_NEW_TASK那张Intent,而不是PendingIntent包装。