4

수신기 밀어 내 메인 클래스에서방송 내 안드로이드 응용 프로그램에서 푸시 알림을 구현 한 통지

: 내 manifest.xml에서

// PUSH 
Parse.initialize(this, applicationId, clientKey); 
PushService.setDefaultPushCallback(this, SlidingMenuActivity.class); 
ParseInstallation.getCurrentInstallation().saveInBackground(); 
ParseAnalytics.trackAppOpened(getIntent()); 

:

<!-- PUSH --> 
<service android:name="com.parse.PushService" /> 

<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> 

내가 열 내 신청서를 보내 드리겠습니다. 나는 뒤를 클릭하고 응용 프로그램을 닫습니다. 약 1 시간 동안 알림을 받고 있습니다. 한 시간이 지나면 세 통의 통보를 보내고 아무 통보도 나타나지 않습니다. 그래서 내 애플 리케이션을 다시 시작하고 세 가지 알림 알림이 나타납니다.

내 브로드 캐스트 수신기가 재생성 된 것 같습니다. 내 안드로이드가 내 알림 방송 수신기를 왜 죽이는거야?

어떻게 해결할 수 있습니까?

+0

질문이 명확하지 않습니다. 푸시 또는 맞춤식 브로드 캐스트를 사용하고 있습니까? 그것들은 다른 것들입니다. 당신은 당신의 질문에 좀 더 자세하게 설명해야합니다. – Fedor

+0

onPause()에서 브로드 캐스트 수신기의 등록을 취소 할 수 있습니다. 너? – Maddy

+0

어떻게 사용자 정의 브로드 캐스트 reciver 귀하의 애플 리케이션에서 @ haythem souissi 작품을 달성 – Erum

답변

0

이 나를 위해 일한 내 해결 방법을 시도해보십시오 : 는

public void onReceive(Context context, Intent intent) { 
    //add the following 
    Intent e = new Intent(context, urservice.class); 
    context.startService(e); 
} 

그때 그때 너무

@Override 
public void onCreate() { 
    super.onCreate(); 
    IntentFilter filter = new IntentFilter(Intent.BOOT_COMPLETED); 
    filter.addAction(Intent.USER_PRESENT); 
    BroadcastReceiver mReceiver = new ParseBroadcastReceiver(); 
    registerReceiver(mReceiver, filter); 
} 

같은 서비스에서 onCreate()에 수신기를 등록 추가하여 서비스에 방송 수신기를 연결 매니 페스트에서 'broadcastreceiver'를 삭제하고 마지막으로 서비스가 가능한 길게 유지되도록하십시오. 다음은 int onStartCommand (Intent intent, int flags, int startId)의 서비스 코드 2 개가 필요합니다. 너는 ~을 넣는다. 켜기

mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 

    Intent bIntent = new Intent(urservice.this, urmain.class);  
    PendingIntent pbIntent = PendingIntent.getActivity(urservice.this, 0 , bIntent, 0); 

    NotificationCompat.Builder bBuilder = 
      new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentTitle("title") 
       .setContentText("sub title") 
       .setAutoCancel(true) 
       .setOngoing(true) 
       .setContentIntent(pbIntent); 
    barNotif = bBuilder.build(); 
    this.startForeground(1, barNotif); 
// also the following code is important 
return Service.START_STICKY; 

이제는 onstart 명령 끝에 답장을 보냅니다. 저에게 물어보십시오.

희망, ,, 행운을 빌어 요. :)

+0

왜 사용자가 명확하게 대답을 준 후 답변 ????? – aljuaid86

+0

어쨌든 나는 haythem을 도왔다. – aljuaid86

0

기기가 잠자기 상태입니까? 기억이 낮아지고 있습니까? 이 모든 것들을 고려해야합니다. 절전 모드 잠금을 유지하거나 끈적 거리기 시작하는 값을 반환하는 서비스를 시작해야 할 수 있습니다.