2016-02-19 57 views
-1

我正尝试在我的应用中使用推送通知。我从服务推送通知的站点复制并粘贴示例代码。当我发送推送时,推送只会发送到我的电话和模拟器,而不会发送到安装在它们上的所有应用。 如果代码有问题,为什么我的手机收到推送?如果没有,为什么其他手机不能接收? (我可以正确看到有多少用户在我的面板中安装了该应用程序。)Android推送通知不适用于某些电话

您的想法出了什么问题?

你可以在下面看到我的密码。

接收机类:

public class myReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    long reqId= intent.getLongExtra("RequestId", -1); 
    String msg = intent.getStringExtra("Message"); 

    Toast.makeText(context, msg, Toast.LENGTH_LONG).show(); 

}} 

myApplicaton类别:

public class myApplicaton extends SlsApplication implements IFinishedInit { 
@Override 
public void onCreate() { 
    super.onCreate(); 

    String sid = "f4439879-8bc1-4c01-87ce-8e98d0f76ccc"; 

    SLS.init(this,sid,this); 

} 

@Override 
public void finishedInit(int i) { 
    switch (i){ 
     case SLS.RESULT_OK: 
      Log.i("baas", "RESULT_OK"); 
      break; 
     case SLS.RESULT_FAILED: 
      Log.i("baas", "RESULT_FAILED"); 
      break;} 
    } 
} 

清单:

<?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="com.example.pushnotif.permission.C2D_MESSAGE" /> 

<permission android:name="com.example.pushnotif.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 


<application 
    android:name=".myApplicaton" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <receiver android:name="ir.sls.android.slspush.Receiver.GcmBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND"> 

     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="com.example.pushnotif" /> 
     </intent-filter> 
    </receiver> 
    <service android:name="ir.sls.android.slspush.GcmIntentService" /> 

    <receiver android:name="ir.sls.android.slspush.NetWatcher"> 
     <intent-filter> 
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
     </intent-filter> 
    </receiver> 

    <receiver android:name=".myReceiver" > 
     <intent-filter> 
      <category android:name="com.example.pushnotif" /> 
      <action android:name="ir.sls.android.slspush.ActionSlsPushReceived" /> 
     </intent-filter> 
    </receiver> 
</application> 

+0

请发表您正在使用的代码。如果不考虑您的潜在解决方案,我们无法提供正确的答案。 – abhi

回答

1

请检查所有未接收的手机是否产生GCM事登记ID ..