SORU
6 Mayıs 2010, PERŞEMBE


Açın kendi başka bir uygulama () niyet

Benim kendi programları güncellemek için nasıl biliyorum, ve programları önceden tanımlanmış bir Urı (örneğin sms veya e-posta için) kullanarak nasıl açılacağını biliyorum

MyTracks veya dinliyorlar bilmiyorum başka bir uygulama açmak için bir Niyet oluşturmak için nasıl bilmek istiyorum.

DDMS den bu bilgiyi aldım, ama kullanabileceğim bir Niyet için bu bir dönüm başarılı olmuş etmedim. Bu açılış sadece el MyTracks ne zaman alınır.

Yardımlarınız için teşekkürler

05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] }
05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015}
05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)

CEVAP
6 Mayıs 2010, PERŞEMBE


Öncelikle, bu kavramı "Uygulama" Android biraz genişletilmiş.

Bir uygulama - teknik bir süreç birden fazla aktiviteleri, hizmetleri, içerik sağlayıcı ve/veya yayın dinleyici olabilir. Eğer bunlardan en az biri çalışıyorsa, uygulama ve çalışıyor (işlem).

Ne tanımlamak için ne kadar istiyorsun "uygulamasını Başlat".

Tamam... burada deneyebilirsiniz.

  1. action=MAIN category=LAUNCHER ile bir niyet oluşturun
  2. Geçerli bağlama context.getPackageManager PackageManager
  3. Niyet category=LAUNCHER, action=MAIN packageManager.resolveActivity(<intent>, 0) ana/ilk etkinlik için bulunduğu packageManager.queryIntentActivity(<intent>, 0) başlatıcısı
  4. İlgilendiğinizActivityInfo
  5. ActivityInfo, packageName name
  6. Son olarak, category=LAUNCHER, action=MAIN, componentName = new ComponentName(packageName, name) ve setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) ile birlikte başka bir niyet oluşturun
  7. Son olarak, context.startActivity(newIntent)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008