我有一个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) 我有一个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来从一个非活动的类启动一个活动?