"应用研发平台EMAS中PushPopActivity怎么处理的点击时间?"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在应用研发平台 EMAS 中,PushPopActivity
的点击事件处理主要依赖于辅助弹窗功能的实现。以下是详细的处理方式和配置说明:
辅助弹窗功能主要用于在设备的应用进程被清理后,通过厂商通道(如小米、华为等)推送通知时,提供一种特殊的跳转逻辑。当用户点击通知时,会触发 PushPopActivity
的回调方法,从而完成特定的业务逻辑处理。
点击事件的处理主要通过继承 AndroidPopupActivity
并实现其回调方法来完成。具体步骤如下:
PushPopActivity
需要创建一个自定义的 Activity
,并继承 AndroidPopupActivity
。在此类中,重写 onSysNoticeOpened
方法以处理通知点击事件。
示例代码如下:
import com.alibaba.sdk.android.push.AndroidPopupActivity;
import java.util.Map;
public class SecondActivity extends AndroidPopupActivity {
static final String TAG = "SecondActivity";
@Override
protected void onSysNoticeOpened(String title, String content, Map<String, String> extraMap) {
// 处理通知点击事件
Log.d(TAG, "Receive notification, title: " + title + ", content: " + content + ", extraMap: " + extraMap);
// 在此处添加自定义逻辑,例如页面跳转或其他操作
}
}
title
: 通知的标题。content
: 通知的内容。extraMap
: 通知的扩展参数,通常以键值对的形式传递,可用于携带额外的业务数据。为了确保辅助弹窗功能正常工作,服务端需要正确配置相关参数。以下是关键配置项:
在服务端推送请求中,通过 setAndroidPopupActivity
方法指定辅助弹窗点击后跳转的 Activity
。
示例代码:
PushRequest pushRequest = new PushRequest();
pushRequest.setAndroidPopupActivity("com.alibaba.push.testdemo.SecondActivity");
通过以下方法设置辅助弹窗的通知标题和内容: - setAndroidPopupTitle
: 设置通知标题。 - setAndroidPopupBody
: 设置通知内容。
示例代码:
pushRequest.setAndroidPopupTitle("Popup Title");
pushRequest.setAndroidPopupBody("Popup Body");
辅助弹窗功能的前提条件之一是开启离线保存(StoreOffline
参数设为 true
)。此配置确保在设备离线时,推送消息能够被保存并在设备上线后展示。
在客户端,除了实现 PushPopActivity
的逻辑外,还需要在 AndroidManifest.xml
文件中注册自定义的 Activity
。
PushPopActivity
在 AndroidManifest.xml
文件中添加以下配置:
<activity
android:name="com.alibaba.push.testdemo.SecondActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="${applicationId}"
android:path="/thirdpush"
android:scheme="agoo" />
</intent-filter>
</activity>
注意:android:exported="true"
必须配置,否则可能导致无法接收通知点击事件。
Title
、Body
、AndroidActivity
等设置将不再起作用。通过上述配置和服务端、客户端的配合,PushPopActivity
的点击事件可以被正确处理。开发者可以根据实际需求,在 onSysNoticeOpened
回调中实现自定义逻辑,例如页面跳转或数据处理。