我最近为我的wordpress博客开发了原生Android应用程序。我正在项目中使用OneSignal推送通知服务。此外,我能够收到通知。问题是每当我在设备上收到通知并点击它时,它会打开浏览器而不是应用程序。 这是主要的Activity Java代码的片段。
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.gms.ads.AdView;
import com.onesignal.OneSignal;
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, HomeFragment.OnFragmentInteractionListener {
private AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.setNotificationOpenedHandler(new NotificationHandler())
.init();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
navigationView.setNavigationItemSelectedListener(this);
onNavigationItemSelected(navigationView.getMenu().getItem(0));
}
这是课程NotificationHandler
package com.savvydroid.savvydroid;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.onesignal.OSNotificationAction;
import com.onesignal.OSNotificationOpenResult;
import com.onesignal.OneSignal;
+import org.json.JSONObject;
/**
+ * Created by geeth on 12/30/2017.
*/
class NotificationHandler implements OneSignal.NotificationOpenedHandler {
public Context mcontext;
@Override
public void notificationOpened(OSNotificationOpenResult result) {
OSNotificationAction.ActionType actionType = result.action.type;
JSONObject data = result.notification.payload.additionalData;
String customKey;
if (data != null) {
customKey = data.optString("customkey", null);
if (customKey != null)
Log.i("OneSignalExample", "customkey set with value: " + customKey);
}
if (actionType == OSNotificationAction.ActionType.ActionTaken)
Log.i("OneSignalExample", "Button pressed with id: " + result.action.actionID);
Intent intent = new Intent(mcontext, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
Add a comment to this line
mcontext.startActivity(intent);
}
}
有人请帮忙,我最早需要完成这个项目。