The import android.os.ServiceManager cannot be resolved

Sean picture Sean · Dec 15, 2010 · Viewed 23.7k times · Source

I'm using aidl to answer call automagically, code as following:

ITelephony.Stub.asInterface(ServiceManager.getService("phone"))
    .answerRingingCall();

I import ServiceManager.class

import android.os.ServiceManager;

but there's a problem:The import android.os.ServiceManager cannot be resolved

How can I make it work? Thanks

Answer

Chaitali picture Chaitali · Feb 15, 2012

android.os.ServiceManager is a hidden class (i.e., @hide) and hidden classes (even if they are public in the Java sense) are removed from android.jar, hence you get the error when you try to import ServiceManager. Hidden classes are those that Google does not want to be part of the documented public API.

Applications using non-public API cannot be compiled easily, there will be different platform versions of this class.