小编run*_*r49的帖子

当日历同步新事件时,处理更新的最佳方法是什么?

通过ICS,我们现在可以使用日历API!:)

我的问题是,我们如何确定事件是否已更新.理想情况下,这可以通过BroadcastReceiver完成,但我不认为有一个可公开访问.有一些事件被广播,但我不认为它可以被非系统应用程序访问.

02-06 23:05:05.316: I/CalendarProvider2(9201): Sending notification intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://com.android.calendar }
02-06 23:05:05.320: W/ContentResolver(9201): Failed to get type for: content://com.android.calendar (Unknown URL content://com.android.calendar)
Run Code Online (Sandbox Code Playgroud)

这是我现在的工作.有没有更好的办法?如果用户看到一段时间内正在运行的服务,并且经常会将其杀死以节省电池寿命.

public class CalendarUpdatedService extends Service {

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        int returnValue = super.onStartCommand(intent, flags, startId);

        getContentResolver().registerContentObserver(
                CalendarContract.Events.CONTENT_URI, true, observer);

        return returnValue;
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    ContentObserver observer = new ContentObserver(new Handler()) {

        @Override
        public boolean deliverSelfNotifications() {
            return true;
        }

        @Override …
Run Code Online (Sandbox Code Playgroud)

android android-4.0-ice-cream-sandwich

9
推荐指数
1
解决办法
4355
查看次数

Android Fragment backStack问题

我的Activity中有以下代码:

     public void categoryClicked(int categoryId, String categoryName) {                 


ItemList newFragment = ItemList.newInstance(categoryId);
                    FragmentTransaction ft = getFragmentManager().beginTransaction();
                    ft.replace(R.id.itemContainer, newFragment);
                    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
                    ft.addToBackStack(null);           
                    ft.commit();
            }
Run Code Online (Sandbox Code Playgroud)

它按预期工作,我可以在点击几次之前回到以前的状态.但是,如果我只深入一个,我会得到以下异常:

03-10 22:17:19.895: ERROR/AndroidRuntime(23075): java.lang.IllegalStateException: Content view not yet created
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.ListFragment.ensureList(ListFragment.java:377)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.ListFragment.getListView(ListFragment.java:277)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at com.xxxxx.fragment.ItemList.onActivityCreated(ItemList.java:67)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:749)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:921)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.BackStackRecord.popFromBackStack(BackStackRecord.java:639)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1254)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:402)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075):     at android.app.Activity.onBackPressed(Activity.java:2057)
03-10 22:17:19.895: ERROR/AndroidRuntime(23075): …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

6
推荐指数
1
解决办法
6726
查看次数