当用户点击 Parse.com 通知时打开活动
Posted
技术标签:
【中文标题】当用户点击 Parse.com 通知时打开活动【英文标题】:Open activity when user taps on Parse.com notification 【发布时间】:2015-03-12 17:01:24 【问题描述】:我正在使用 Parse.com 接收通知,我想在用户点击传入通知时打开 MessagesActivy。
目前,当我点击通知时,它会打开 SplashActivity(启动活动),当我按下返回按钮时,还会加载 MessagesActivity。
我正在使用自己的ParseBroadCastReciver来处理onPushOpen,这里你可以看一下代码。
public class MyReciever extends ParsePushBroadcastReceiver
private static final String TAG = "MyCustomReceiver";
private HashMap<String, String> dataMap;
@Override
protected void onPushOpen(Context context, Intent intent)
super.onPushOpen(context, intent);
if (intent == null)
Log.d(TAG, "Receiver intent null");
else
String action = intent.getAction();
Log.d(TAG, "got action " + action);
JSONObject json = null;
try
json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
catch (JSONException e)
e.printStackTrace();
Iterator itr = json.keys();
dataMap = new HashMap<String, String>();
while (itr.hasNext())
String key = (String) itr.next();
Log.d(TAG, "key: "+ key);
try
String value = json.getString(key);
Log.d(TAG, "value: "+value);
dataMap.put(key, value);
catch (JSONException e)
e.printStackTrace();
if(dataMap.containsKey("from"))
Log.d("TAG", "key == from i value == "+dataMap.get("from"));
Intent msgPushIntenet = new Intent(context, MessagesActivity.class);
msgPushIntenet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
msgPushIntenet.putExtra("user_id", dataMap.get("from"));
//msgPushIntenet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.getApplicationContext().startActivity(msgPushIntenet);
Log.d("TAG", "startujem Messages Activity");
我可以做些什么来打开 MessagesActivity?
【问题讨论】:
【参考方案1】:在onPushOpen
方法中使用这个
Intent msgPushIntenet = new Intent(context, MessagesActivity.class);
msgPushIntenet.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
msgPushIntenet.putExtra("user_id", dataMap.get("from"));
context.startActivity(msgPushIntenet);
来自here。
【讨论】:
还是先打开SplashActivity(启动Activity)。你有别的想法吗?以上是关于当用户点击 Parse.com 通知时打开活动的主要内容,如果未能解决你的问题,请参考以下文章