首页 > 代码库 > android利用Context提供的方法实现java映射

android利用Context提供的方法实现java映射

实例如下:

private Context mOtherAppsContext=null;

private static final String MCUBE_PACKAGE="com.mcube.acc";

 private static final String MCUBE_CLASS="com.mcube.acc.SensorControl";

private Class mcubeClass=null;

private Integer initCheck;



try
    {
        mOtherAppsContext =  createPackageContext(MCUBE_PACKAGE,Context.CONTEXT_IGNORE_SECURITY|CONTEXT_INCLUDE_CODE);        
        mcubeClass = mOtherAppsContext.getClassLoader().loadClass(MCUBE_CLASS);
        final Object myInstance  = mcubeClass.newInstance();
        final Method getProduct = mcubeClass.getMethod("getProduct",(Class[]) null);
        final Method initJNI = mcubeClass.getMethod("init_jni",(Class[]) null);
        initCheck=(Integer) initJNI.invoke(myInstance);

        if(initCheck != null && initCheck.intValue()== 0)
        {
            product = (Integer)getProduct.invoke(myInstance);
            if(product != null)
            {
                Log.i(TAG,"get product id check result=" + product.intValue());
            
                if (product.intValue() != 0 )
                {
                    //if(mGsensorCali != null)
                    root.removePreference(mGsensorCali);
                    Log.i(TAG,"Not mCube product");
                }
                else
                {
                    Log.i(TAG,"mCube product Detected");    
                }
            }
        }
        else
        {
         //if(mGsensorCali != null)
            root.removePreference(mGsensorCali);
            Log.i(TAG,"product check fail");
        }
    }

        catch (NameNotFoundException e)
        {
            e.printStackTrace();
        }
        
        catch (ClassNotFoundException e)
    {
        e.printStackTrace();
        }
        catch (InstantiationException e)
        {  
            e.printStackTrace();
        }
        catch (IllegalAccessException e)
        {  
            e.printStackTrace();
        }
        catch (NoSuchMethodException e)
    {
        e.printStackTrace();
    }
    catch (InvocationTargetException e)
    {
        e.printStackTrace();
    }

android利用Context提供的方法实现java映射