小编Dhr*_*rji的帖子

具有自己日历的Android同步日历功能

在此输入图像描述

我已经展示了如何为我们自己的帐户设置自己的sync_calendar功能的技术,以及我们如何将自己的事件同步到....

将清单中的权限授予READ和WRITE日历

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
Run Code Online (Sandbox Code Playgroud)

在res/xml文件夹文件名下创建SyncAdapter:sync_calendar.xml

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="com.account.auth"
    android:contentAuthority="com.android.calendar"
    android:supportsUploading="false"
    android:userVisible="true" />
Run Code Online (Sandbox Code Playgroud)

android:accountType: - 这里提供您在帐户身份验证器下创建的帐户类型,如下所述

<account-authenticator
 android:accountType="com.account.auth"
 android:icon="@drawable/ic_launcher"
 android:label="@string/app_name"
 android:smallIcon="@drawable/ic_launcher"
 xmlns:android="http://schemas.android.com/apk/res/android">
</account-authenticator>
Run Code Online (Sandbox Code Playgroud)

在清单文件中定义服务名称和元数据

     <service
                android:name="com.account.auth.CalendarSyncAdapterService"
                android:exported="true"
                android:process=":calendar" >
                <intent-filter>
                    <action android:name="android.content.SyncAdapter" />
                </intent-filter>
            <meta-data
                android:name="android.content.SyncAdapter"
                android:resource="@xml/sync_calendar" />
</service>
Run Code Online (Sandbox Code Playgroud)

创建同步启动时将调用的服务,并添加要移交同步日历的逻辑

public class CalendarSyncAdapterService extends Service {

 private static SyncAdapterImpl sSyncAdapter = null;
 static MeetingsDatabaseAdapter sync_Meetings = null;

 public CalendarSyncAdapterService() {
  super();
 }

 private static class SyncAdapterImpl extends AbstractThreadedSyncAdapter {
  public SyncAdapterImpl(Context context) {
   super(context, true);
   mContext = …
Run Code Online (Sandbox Code Playgroud)

android android-intent

6
推荐指数
0
解决办法
2106
查看次数

标签 统计

android ×1

android-intent ×1