0

Я хочу открыть разные классы в зависимости от содержимого уведомлений, которое я получил. Я могу открыть класс MainActivity при нажатии уведомления, но не OpenActivityOne. Не знаю, почему.не удалось открыть мероприятие при уведомлении.

private void sendNotification(String msg) { 
Log.d(TAG, "Preparing to send notification...: " + msg); 

    mNotificationManager = (NotificationManager) this 
      .getSystemService(Context.NOTIFICATION_SERVICE); 
    if(msg.equalsIgnoreCase("Call")){ 
     System.out.println("Inside iffffffffffffffffffffff"); 
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       new Intent(this, OpenActivityOne.class), 0); 

     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
       this).setSmallIcon(R.drawable.gcm_cloud) 
       .setContentTitle("GCM Notification") 
       .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)) 
       .setContentText(msg); 

     mBuilder.setContentIntent(contentIntent); 
     mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); 
    }else{ 

     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       new Intent(this, MainActivity.class), 0); 

     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
       this).setSmallIcon(R.drawable.gcm_cloud) 
       .setContentTitle("GCM Notification") 
       .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)) 
       .setContentText(msg); 

     mBuilder.setContentIntent(contentIntent); 
     mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build()); 
    } 

    Log.d(TAG, "Notification sent successfully."); 
} 

OpenActivityOne.java

public class OpenActivityOne extends Activity { 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash); 
     Toast.makeText(getApplicationContext(), "Open OpenActivityOne", 
       Toast.LENGTH_LONG).show(); 
     } 
} 
+0

Вероятно, две причины: 1. 'OpenActivityOne' не добавляется в' AndroidManifest.xml' и 2. 'msg' не равно 'Call', для второго случая попробуйте использовать 'String.contains' –

+0

@ ρяσѕρєяK это объявленный внутри AndroidManifest, иначе бы дал ошибку намного раньше. и он входит внутрь, если проверяется с помощью журнала - System.out.println (внутри ifff); – SwagDevelopers

+0

ok затем добавить журнал 'onCreate'' OpenActivityOne' и проверить, что это 'OpenActivityOne' выполняется или нет –

ответ

0

Попытка ниже

Добавление флага в Activity в AndroidManifiest.xml

android:exported="true" 

Как

<activity 
     android:name="com.your.OpenActivityOne" 
     android:exported="true" > 
. 
. 
</activity> 
+0

это не работает .. :( – SwagDevelopers

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