我想将新事件的ID添加到android日历中。我创建了BroadcastReceiver,但是找不到参数中的任何数据。
根据此post,它看起来像是可以完成的任务。 有人知道如何解决吗?
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>
广播接收器
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)