2013-12-16 3 views
1

Android-синтаксис sdk push-уведомление работает над эмулятором, но когда я запускаю его на телефоне с помощью отладки usb, push-уведомление запускается в фоновом режиме и может быть замечено в моей учетной записи parse.com но телефон не получает push-уведомление.Android parse sdk push notification

public class Profile_InviteActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_profile__invite); 

     Bundle extras = getIntent().getExtras();  
     ParseQuery<ParseObject> query = ParseQuery.getQuery("UserProfile"); 
     Log.d("id",""+extras.getInt("fid")); 

     query.whereEqualTo("fid", ""+extras.getInt("fid")); 
     query.findInBackground(new FindCallback<ParseObject>() { 
      public void done(final List<ParseObject> scoreList, ParseException e) { 
       if (e == null) { 

        TextView name = (TextView) findViewById(R.id.profile_name); 
        TextView location = (TextView) findViewById(R.id.profile_location); 


        name.setText(scoreList.get(0).getString("name")); 
        location.setText(scoreList.get(0).getString("location")); 



        ParseFile img1 = (ParseFile)scoreList.get(0).get("profileimage"); 

        img1.getDataInBackground(new GetDataCallback() { 

         public void done(byte[] data, 
           ParseException e) { 
          if (e == null) { 
           Log.d("test", 
             "We've got data in data."); 
           // Decode the Byte[] into 
           // Bitmap 
           ImageView image = (ImageView) findViewById(R.id.profimg); 


           image.setImageBitmap(BitmapFactory 
             .decodeByteArray(
               data, 0, 
               data.length)); 
          } else { 
           Log.d("test", 
             "There was a problem downloading the data."); 
          } 
         } 
        }); 

       } else { 
        Log.d("score", "Error: " + e.getMessage()); 
       } 
      } 
     }); 

    } 

    public void inviteToTrain(View v) 
    { 
     Log.d("inviting","now"); 

     Bundle extras = getIntent().getExtras(); 

     //ParseInstallation installation = ParseInstallation.getCurrentInstallation();  

     //installation.put("fids",true); 
     //installation.saveInBackground(); 

     ParseQuery pushQuery = ParseInstallation.getQuery(); 
     //pushQuery.whereEqualTo("fid", extras.getInt("fid")); 
     pushQuery.whereEqualTo("fids", true); 
     // Send push notification to query 
     ParsePush push = new ParsePush(); 
     push.setQuery(pushQuery); // Set our Installation query 
     push.setMessage("Someone would like to join you at your event "); 
     push.sendInBackground(); 
     Log.d("invited","now"); 
    } 

}

Пожалуйста, помогите мне с этим.

Благодаря

+0

Где ваш код? – GrIsHu

+0

Код обновлен – rohit

ответ

2

Для того, чтобы получить толчок уведомления,

Вы должны написать широковещательные приемники, чтобы справиться с этим.

Пример кода: После инициализации детали разбора Добавить

PushService.setDefaultPushCallback(this, SampleClass.class); 

Затем в Уре файле манифеста, добавьте

<receiver android:name="com.parse.ParseBroadcastReceiver" > 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     <action android:name="android.intent.action.USER_PRESENT" /> 
    </intent-filter> 
</receiver> 

Затем Перейти разобрать приборную панель, и отправить толчок вручную Симметричного Чтобы проверить будь то толчок попадает в телефон ур. Используйте формат Json, как это,

{ "alert": "Notification", "title": "Push", "objectId": "objectId", 
"objectType": "type", "action": "Your Action Name" } 

Подробнее см

How to trigger an event using Parse for Android via push notification?

+0

Спасибо, но я уже сделал это. Я получаю push-уведомление на своем телефоне только в том случае, если я создаю новый объект вроде этого каждый раз. Он не работает со старыми зарегистрированными. Установка ParseInstallation = ParseInstallation.getCurrentInstallation(); installation.put ("fids", true); установка.saveInBackground(); – rohit

+0

Я не получил то, что вы говорите. –

Смежные вопросы