0

我有一个警报服务,它是一个用于设置警报的意图服务和一个启动通知的 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>
4

1 回答 1

1

FLAG_ACTIVITY_NEW_TASK继续Intent,而不是PendingIntent包装。

于 2012-04-25T16:27:48.487 回答