Sobes.tech
Junior — Middle

Push bildiri ilə müəyyən bir Fragment-ə keçid necə həyata keçirilə bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Push bildirişindən istifadə edərək müəyyən bir Fragment-ə keçmək üçün adətən əlavə məlumatlar (extras) ilə Intent istifadə olunur, bu Intent Activity-ə ötürülür və sonra Activity hansı Fragment-i göstərəcəyinə qərar verir.

Təxminən algoritm:

  1. Push bildirişində, istənilən Fragment-ə işarə edən məlumatlar (məsələn, string identifikatoru və ya enum) ötürün.
  2. Bildirişə tıklama hadisəsini idarə edən metodda (PendingIntent), Activity-ni başlatmaq üçün Intent yaradın.
  3. Activity-də, onCreate və ya onNewIntent metodunda, Intent-dən məlumatları oxuyun və lazım olan Fragment ilə əvəz edin.

Kod nümunəsi:

// Bildiriş yaradarkən
val intent = Intent(context, MainActivity::class.java).apply {
    putExtra("target_fragment", "profile")
}
val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)

// MainActivity-də
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val targetFragment = intent.getStringExtra("target_fragment")
    if (targetFragment != null) {
        val fragment = when(targetFragment) {
            "profile" -> ProfileFragment()
            "settings" -> SettingsFragment()
            else -> DefaultFragment()
        }
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, fragment)
            .commit()
    }
}

Beləliklə, bildirişə tıkladıqda, istifadəçi birbaşa istənilən ekrana yönləndiriləcək.