2010-11-02 24 views

cevap

12

Java API işlevini çağırarak bunu çağırmanız gerekir - niyetler için JNI arabirimi yoktur.

İlk önce Intent sınıfına bakın, daha sonra niyet oluşturma ve bunları yayınlama yöntemlerine bakın ve onları arayın.

DÜZENLEME: İşte bir eksik örnek. jniEnv, tüm JNI işlevlerinize geçirilir.

jclass activityClass = jniEnv->FindClass("android/app/Activity"); 
jmethodID startAcitivtyMethod = jniEnv->GetMethodID(activityClass , "startActivity", "(Landroid/content/Intent;)V"); 
jniEnv->CallVoidMethod(yourActivityObject, startAcitivityMethod, yourIntentObject); 
+0

çok güzel bir açıklama. Bu tam bir açıklama olmasa bile, + 1 hak ediyorsunuz. –

+1

ama bir geri çağırma (başka bir iş parçacığında) aramak istiyorsanız, hangi durumda jniEnv – Juude

+0

alamıyorum Jni olmayan için böyle bir çözüm var mı? – RocketRandom

0

Sana bir Bağlam geçebilir böylece yerli işlev Android Java uygulaması aranırsa yerel koddan yayın mesajında ​​ama sadece durumda karmaşık bir şey olduğunu düşünüyorum. Bildiğim kadarıyla tamamen yerli uygulamalar için İçerik diye bir şey yoktur, bu nedenle bir niyet yayınlayamazsınız.

0

Sadece bir yerel uygulama bir Niyet yayınlayabilir. Bu, yerel etkinlik başlatıcı olsa bile, Intents yayınlayabileceğimiz anlamına gelir.

İlgili konular