V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Features
V2EX  ›  Android

初学求问:安卓的日历事件读写问题

  •  
  •   Features · 2021-12-23 11:54:22 +08:00 · 3935 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先想问下模拟器如何使用宿主机的网络进行访问外网?( PC 可以访问)

    写入事件的代码
     //calID 必传
    long calID = 1;
    long startMillis = 0;
    long endMillis = 0;
    
    //必传参数,开始时间
    Calendar beginTime = Calendar.getInstance();
    beginTime.set(2021,11,24,0,0);
    startMillis = beginTime.getTimeInMillis();
    
    //必传参数,结束时间
    Calendar endTime = Calendar.getInstance();
    endTime.set(2021,11,24,0,10);
    //必传参数,时区
    String timezone = TimeZone.getDefault().getID();
    //        Log.d(TAG,timezone);
    ContentResolver contentResolver = getContentResolver();
    ContentValues cv = new ContentValues();
    cv.put(CalendarContract.Events.CALENDAR_ID,calID);
    cv.put(CalendarContract.Events.DTSTART,startMillis);
    cv.put(CalendarContract.Events.DTEND,endMillis);
    cv.put(CalendarContract.Events.EVENT_TIMEZONE,timezone);
    
    cv.put(CalendarContract.Events.TITLE,"这是圣诞测试哦");
    cv.put(CalendarContract.Events.DESCRIPTION,"这是圣诞测试哦哦哦哦");
    
    Uri uri = contentResolver.insert(CalendarContract.Events.CONTENT_URI,cv);
    Log.d(TAG,"write success");
    Log.d(TAG, String.valueOf(uri));
    
    
    打印结果:
     write success
     content://com.android.calendar/events/9
    

    但是日历里始终看不到写入的内容
    使用 ContentResolver query 也看不到数据,是咋回事呢?

    调试设备

    1. 1.Android 11 的 系统模拟器
    2. Android 7 的夜神模拟器
    3. Android 10 的 HW mate20

    打印结果都一样,但就是读取不到数据

    第 1 条附言  ·  2021-12-23 17:26:31 +08:00
    找到问题了,是我混淆了 readCalendar 和 readEvents😂
    4 条回复    2021-12-23 14:59:20 +08:00
    ImGroot
        1
    ImGroot  
       2021-12-23 13:10:26 +08:00
    有没有申请权限?
    chengyiqun
        2
    chengyiqun  
       2021-12-23 14:11:21 +08:00
    权限加了没
    <uses-permission android:name="android.permission.READ_CALENDAR"/>
    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
    chengyiqun
        3
    chengyiqun  
       2021-12-23 14:13:27 +08:00
    至于访问外网, 宿主机上又 ssr 或者 v2y 的, 设置允许局域网访问, 然后到虚拟机里设置 wifi 的代理, 代理 ip 是宿主机的以太网或者 wlan 的 ip, 端口是代理软件的端口, 比如 ssr 默认 1080(可以修改)
    Features
        4
    Features  
    OP
       2021-12-23 14:59:20 +08:00
    @chengyiqun @ImGroot 加了,不加会闪退吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3510 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:47 · PVG 08:47 · LAX 17:47 · JFK 20:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.