package com.googlecode.android_scripting.extras; import java.util.List; import zce.app.sdpath.DevInfo; import zce.app.sdpath.MountInfo; import android.app.Service; import android.os.Build; import android.os.Environment; import com.google.common.collect.Lists; import com.googlecode.android_scripting.facade.FacadeManager; import com.googlecode.android_scripting.jsonrpc.RpcReceiver; import com.googlecode.android_scripting.rpc.Rpc; /** * * @author ざ凍結の→愛 892768447@qq.com */ public class CustomAndroidFacade extends RpcReceiver { private final Service mService; public CustomAndroidFacade(FacadeManager manager) { super(manager); mService = manager.getService(); } public void shutdown() { } @Rpc(description = "Get SdPath\n获取sd卡路径", returns = "Return List\n返回数组") public List<String> getSdPath() { List<String> result = Lists.newArrayList(); MountInfo dev = MountInfo.getInstance(); DevInfo info; info = dev.getInternalInfo();// Internal SD Card Informations if (info == null) { result.add(""); } else { // 获取内置sd卡路径 // info.getLabel(); // SD 卡的名称 // info.getMount_point();// SD 卡挂载点 result.add(info.getPath());// SD 卡路径 // info.getSysfs_path(); // ....没弄清楚什么意思 } info = dev.getExternalInfo();// External SD Card Informations if (info == null) { result.add(""); } else { // 获取外置sd卡路径 // info.getLabel(); // SD 卡的名称 // info.getMount_point();// SD 卡挂载点 result.add(info.getPath()); // SD 卡路径 // info.getSysfs_path(); // ....没弄清楚什么意思 } if (result.get(0).length() < 1 && result.get(1).length() < 1) { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { try { result.add(Environment.getExternalStorageDirectory() .toString()); } catch (Exception e) { result.add(""); } } result.add(""); } return result; } @Rpc(description = "Get App FilesDir\n获取内部储存路径", returns = " Return String") public String getFilesDir() { return mService.getFilesDir().getAbsolutePath(); } @Rpc(description = "Get The OS Sdk\n获取系统版本", returns = " Return Integer") public int getSdk() { return Build.VERSION.SDK_INT; } @Rpc(description = "Get The OS Release\n获取系统版本", returns = " Return String") public String getRelease() { return Build.VERSION.RELEASE; } }