Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们能给android原生日历应用程序传递一些URI来启动我们的android应用程序吗_Android_Android Intent_Android Calendar - Fatal编程技术网

我们能给android原生日历应用程序传递一些URI来启动我们的android应用程序吗

我们能给android原生日历应用程序传递一些URI来启动我们的android应用程序吗,android,android-intent,android-calendar,Android,Android Intent,Android Calendar,我们正在从android应用程序中设置一些日历事件,现在我们希望将一些URI或意图与事件数据一起传递给日历,这样,如果用户单击该链接,它将启动我们的应用程序 它已经在iOS中实现了,所以客户端也希望在android中实现同样的功能。你可以检查一下。我找到了以下适用于android API级别16及以上的解决方案 首先,在清单中将以下意图过滤器添加到您的一个活动中 创建日历事件后,它将在日历事件的详细信息中显示您的应用程序图标和应用程序名称 已知问题: 此解决方案适用于所有google设备(Nex

我们正在从android应用程序中设置一些日历事件,现在我们希望将一些URI或意图与事件数据一起传递给日历,这样,如果用户单击该链接,它将启动我们的应用程序


它已经在iOS中实现了,所以客户端也希望在android中实现同样的功能。你可以检查一下。

我找到了以下适用于android API级别16及以上的解决方案

  • 首先,在清单中将以下意图过滤器添加到您的一个活动中
  • 创建日历事件后,它将在日历事件的详细信息中显示您的应用程序图标和应用程序名称

    已知问题:

    此解决方案适用于所有google设备(Nexus设备)或任何具有android操作系统但未进行任何公司定制的设备(Moto g等)

    请帮助我了解为什么我无法在其他设备上查看。提前感谢。
    <intent-filter>
        <action android:name="android.provider.calendar.action.HANDLE_CUSTOM_EVENT" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="vnd.android.cursor.item/event" />
    </intent-filter>
    
     ContentResolver cr = context.getContentResolver();
     ContentValues values = new ContentValues();
     TimeZone timeZone = TimeZone.getDefault();
     values.put(CalendarContract.Events.DTSTART, startTimeInMilliSeconds);
     values.put(CalendarContract.Events.DTEND, endTimeInMilliSeconds);
     values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID());
     values.put(CalendarContract.Events.TITLE, title);
     values.put(CalendarContract.Events.DESCRIPTION,desc);
     values.put(CalendarContract.Events.CALENDAR_ID, 3);
     values.put(CalendarContract.Events.CUSTOM_APP_PACKAGE, "com.my.pkg");//your app package 
     values.put(CalendarContract.Events.CUSTOM_APP_URI,"https://www.my.pkg.com/eventID/");