Можно ли получить идентификатор нового события, добавленного в календарь, из BroadcastReceiver? - PullRequest
0 голосов
/ 01 июня 2019

Я хочу получить идентификатор нового события, добавленного в календарь Android.Я создал BroadcastReceiver, но я не могу найти какие-либо данные в параметрах.

Согласно этому сообщению , это выглядит достижимой задачей.У кого-нибудь есть идеи, как ее решить?

Manifest.xml

     <receiver android:name=".controller.EventReceiver"
              android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.PROVIDER_CHANGED"/>
            <data android:scheme="content"/>
            <data android:host="com.android.calendar"/>
        </intent-filter>
    </receiver>

BroadcastReceiver

 class EventReceiver: BroadcastReceiver() {

    private val TAG = "BROADCAST_RECEIVER"

    override fun onReceive(context: Context, intent: Intent) {
        intent.action.logd(TAG)
        intent.data.logd(TAG)
        val uri = intent.data
    }
}

Активность

  val filter = IntentFilter()
    filter.addAction(Intent.ACTION_PROVIDER_CHANGED)
    filter.addDataScheme("content")
    filter.addDataAuthority("com.android.calendar", null)
    registerReceiver(EventReceiver(),filter)
...