点击推送通知后,重新打开应用程序(单击后退,关闭应用程序,然后重新打开应用程序),然后它从getIntent()
获取意图并执行其应该执行的操作通知。
如果我推送通知并关闭应用程序并重新安装应用程序(在使用Eclipse的调试模式下工作时)再次运行它就像第一次一样运行,但如果我关闭应用程序然后再打开它仍然有来自之前的意图(来自通知)。
如何在使用后清除getIntent()
?为什么在关闭应用程序后仍然“活跃”?
接收机
public class Receiver extends ParsePushBroadcastReceiver {
@Override
public void onPushOpen( Context context, Intent intent ) {
Intent i = new Intent( context, Main.class );
i.putExtras( intent.getExtras() );
i.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
context.startActivity( i );
ParseAnalytics.trackAppOpened( intent );
}
}
主要活动
@Override
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
try {
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String jsonData = extras.getString( "com.parse.Data" );
JSONObject jObj = new JSONObject( jsonData );
Log.e(TAG, "Intent extras: " + jObj.get( "data" ).toString();
} catch ( Exception e ) { /* Nom nom nom */ }
.... other code
}