gpt4 book ai didi

android - 如何从 Google Play 服务通知中检测 Intent

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:22 25 4
gpt4 key购买 nike

我有一个带有 google play 服务的应用程序(Turn-Base Game),但我的主要 Activity 没有 google play 连接。

Google Play 连接处于单独 Activity 中。我不想强制我的用户连接,如果他们不想的话,我不能将所有相关的东西放在我的主要 Activity 中。

我的问题是:

  1. 有人向我发送邀请
  2. 我收到通知
  3. 通知将我重定向到默认的 google play Activity 以接受此邀请
  4. 我接受并重定向到我的应用程序的主要 Activity 。
  5. 如何在接受邀请后检测重定向?

因为我的主要 Activity 与 Google Play 没有关联,所以我不能只使用

@Override
public void onConnected(Bundle connectionHint) {
if (connectionHint != null)
mMatch = connectionHint.getParcelable(Multiplayer.EXTRA_TURN_BASED_MATCH);
}

我在不同的设备上得到不同的 Intent ,但我所有的设备都有 flg=0x14000000

Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.virag.game/.Activities.MainActivity }

所以现在我在我的主要 Activity 中使用它并且它有效:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent data = getIntent();

if ( data != null && data.getFlags() == 0x14000000){
// NetGameActivity is activity with google play connection
Intent intent = new Intent(this, NetGameActivity.class);
startActivity(intent);
}
}

但这感觉像是一个 hack,我想这个标志在某些设备上可能会有所不同。那么,它可以通过 list 来完成,还是有其他方法可以知道您刚刚从 Google Play 服务“接受邀请菜单”获得了 Intent ?

最佳答案

自行连接到 Google Play 服务不需要用户交互。关注example connecting code ,如果用户已经登录(我假设他们在回合制游戏中就是这种情况)那么 onConnected() 将被调用而用户无需做任何事情,你可以然后继续获取游戏。

如果他们没有登录,那么 onConnectionFailed() 将被调用,但是没有要求您立即调用 startResolutionForResult() 来开始登录进程 - 您可以忽略 onConnectedFailed() 情况。

关于android - 如何从 Google Play 服务通知中检测 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com