如何在worklight + angularJS中从PushNotification重定向特定页面

时间:2015-09-09 19:03:48

标签: android ios angularjs ibm-mobilefirst

我已经在android / ios环境中使用worklight + AngularJs开发了推送通知,我在平台上都获得了成功的通知。

我的应用程序有多个HTML页面。每当我点击收到的来自通知栏的通知时,它都会重定向到默认的index.html页面,但我希望它能够重定向任何其他(HTML)内部页面。我还关注了与此问题相关的一些dnsjava,但它显示我们是否在单个html文件中有代码。但在我的情况下,我有多个HTML,我不知道如何实现这种情况。

我知道你们很多人认为这是一个重复的问题,但我认为这种情况有些不同。

以下是我在main.js中的广播通知代码

angular.module('MyMobile').
config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when("/login", {
            templateUrl: "partials/login.html", 
            controller: "loginController"}
        ).
        when("/home/:activePanelId", {
            templateUrl: "partials/home.html", 
            controller: "homeController"}
        ).
        when("/activity", {
            templateUrl: "partials/home.html", 
            controller: "homeController",
            activetab: "activity"}
        ).
        when("/messages", {
            templateUrl: "partials/home.html", 
            controller: "homeController",
            activetab: "messages"}
        ).
        when("/membership", {
            templateUrl: "partials/membership.html", 
            controller: "membershipController"}
        ).
        when("/documentrequest", {
            templateUrl: "partials/documentRequest.html"/*, 
            controller: "documentRequestController"*/}
        ).
        when("/findprovider", {
            templateUrl: "partials/findProvider.html", 
            controller: "findProviderController"}
        ).
        when("/benefitsearch", {
            templateUrl: "partials/benefitSearch.html", 
            controller: "benefitController"}
        ).
        when("/benefitsearchresults", {
            templateUrl: "partials/benefitSearchResults.html", 
            controller: "benefitController"}
        ).
        when("/medicine", {
            templateUrl: "partials/medicine.html", 
            controller: "medicineController"}
        ).
        when("/ehr", {
            templateUrl: "partials/ehr.html", 
            controller: "ehrController"}
        ).
        when("/preauthorization", {
            templateUrl: "partials/preAuthorization.html", 
            controller: "preAuthorizationController"}
        ).
        otherwise({redirectTo: '/login'});
    }]);

下面的代码是我的angularJS route.js:

word = ['cat', 'dog' ,'rabbit']
s = []
s = [ l for w in word for l in w if s.count(l)==0 ] 
print s        

注意:当我点击通知栏中的通知时,我想重定向到“/ messages”。

1 个答案:

答案 0 :(得分:0)

单击通知栏中的通知时,会触发pushNotificationReceived方法。这是放置处理收到通知的代码的地方。然后你需要"返回"到角度范围。因此,请使用location.href重定向到"#/" +请求的页面名称(在我们的案例中为#34;消息")。请注意,如果要在#/ messages页面中使用此通知,则需要将其分配给某个全局变量。

function pushNotificationReceived(props, payload) {
      ...
      location.href = window.location.pathname + "#/messages";
}