我正在为我的应用程序使用推送通知。我想在通知中使用一个动作按钮,它可以从NativeModule组件启动一个Dialog Activity(就像Whatsapp回复按钮一样)。
这是我的NativeModule函数:
@ReactMethod
void navigateToExample() {
Activity activity = getCurrentActivity();
if (activity != null){
Intent intent = new Intent(activity, ExampleActivity.class);
activity.startActivity(intent);
}
}
通知按钮侦听器:
PushNotification.registerNotificationActions(['Reply!']);
DeviceEventEmitter.addListener('notificationActionReceived', function(action){
console.log ('Notification action received: ' + action);
const info = JSON.parse(action.dataJSON);
if (info.action == 'Reply!') {
**///Im calling the Dialog Activity**
NativeModules.ActivityStarter.navigateToExample()
}
ExampleActivity.class
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
findViewById(R.id.call_callback_btn).setEnabled(true);
findViewById(R.id.go_back_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
findViewById(R.id.call_callback_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ActivityStarterModule.triggerAlert("Hello from " + ExampleActivity.class.getSimpleName());
}
});
当应用程序在前台工作时,这些代码运行良好。但是当应用关闭时,新活动无法正常工作/启动。可能问题是navigateToExample()函数无法获取当前活动。我无法解决这个问题。有什么想法吗?