小编use*_*457的帖子

致命错误..在非对象上调用成员函数..

我有一个GCM包含send_notification函数的类.在另一个类中Demand.php,我试图使用send_notification函数.所以我有一个构造函数,Demand.php其中指向我的GCM类,如下所示:

 $gcm = new GCM();
Run Code Online (Sandbox Code Playgroud)

这个$gcm变量在这个类中的函数中使用,如下所示:

$result = $gcm->send_notification($registatoin_ids, $message);
Run Code Online (Sandbox Code Playgroud)

这就是我得到错误的地方:

<br />n<b>Fatal error</b>:  Call to a member function send_notification() on a non-object in..
Run Code Online (Sandbox Code Playgroud)

我搜索了这个问题,发现问题$gcm是null,这就是为什么它什么都没有调用.所以,当我把它

$gcm = new GCM();
Run Code Online (Sandbox Code Playgroud)

在我的功能内部,它正常工作.但是没有别的办法吗?我的意思是,如果只是通过$gcm在构造函数中创建Demand.php

以下是我所指的部分:

function __construct() {
    require_once 'GCM.php';
    require_once 'DB_Connect.php';
    require_once 'DB_Functions.php';
    // connecting to database
    $this->db = new DB_Connect();
    $this->db->connect();
    $gcm = new GCM();
    $df = new DB_Functions();

}

// destructor
function __destruct() {

} …
Run Code Online (Sandbox Code Playgroud)

php

3
推荐指数
1
解决办法
6万
查看次数

无法从GCMIntentService.class启动活动

我有一个GCMIntentService类,我从服务器返回一些消息.我希望能够在某个消息到达我的应用程序时启动某个活动.例如,如果在我的onMessage()方法中(onMethod()是方法,并且在应用程序中,第一个接收来自服务器的消息)到达字符串="tomatoe",我想开始一个特定的活动.我现在知道开始一项活动的方式是这样的:

Intent resactivity = new Intent(getApplicationContext(), ResponseActivity.class);
            resactivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(resactivity);
Run Code Online (Sandbox Code Playgroud)

问题是GCMIntentService不是扩展活动的类,我相信我不能将此代码用于此目的.有没有办法通过在该类中创建一个intent来从一个非活动的类启动一个活动?

android android-intent android-activity

0
推荐指数
1
解决办法
1022
查看次数

标签 统计

android ×1

android-activity ×1

android-intent ×1

php ×1