Android'de bir görüntü düzenleyicisi yazıyorum. Şimdiye kadar tek bir etkinliği var. Bu aktiviteden, Galeri etkinliğini çağıran bir menü seçeneğini kullanarak bir resim yükleyebilirim ve onActivityResult Alınan görüntüyü tuvalimi boyamak için işleme koyarım, böylece düzenleyebilirim. Bu iyi çalışıyor.Niyet filtresi: intent.getData() null döndürür
Şimdi yapmak istediğim, bu etkinliğin başka bir yerden kalınabilir olmasını sağlamaktır. Bu nedenle, etkinlik içinden bir resim seçmek zorunda kalmadan Galeri'yi açabilirim, bir fotoğraf seçip uygulamamıza gönderebilirim . Ama nasıl olduğunu anlayamıyorum.
benim manifest'ten On, ben <activity>
etiketlerinin içinde aşağıdaki koyduk: http://developer.android.com/training/basics/intents/filters.html belirtildiği gibi, benim aktivitede,
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Sonra ben onCreate() içine aşağıdaki koyduk:
...
//after initializing my view and stuff
Intent intent =getIntent();
Uri image = intent.getData();
//code to do something with my uri
...
Uygulamayı telefonuma yükledikten sonra Galeri'yi açtığımda, bir resim seçip "gönder" menüsünü kullanarak ve uygulama listemde görünebilir ancak uygulamayı seçtiğinizde uygulamayı açabilirim ancak görüntüyü yok sayar. intent.getData()
'dan aldığım uri'nin null olduğu ve nedenini anlayamadığım ortaya çıkıyor.
Yanlış bir şey yapıyorum? Bir şey unutuyor muyum? Eğer bilmeniz gerekiyorsa, onunla birlikte sağlanan CoolIris galerisini kullanarak Android 2.3 stoktayım.
görebilirsiniz böyle
content://media/external/images/media/1750
Daha bilgisi olarak görüntünün Uri alabilirsiniz. Teşekkür ederim! Yani, Google'ın belgeleri yanlış mı yoksa bir şeyi yanlış mı okudum? – ziritrion
ACTION_SEND belgesine bakın, odaklanmanız gereken 'girişi' açıklayın. – dreamtale