diff --git a/builtinftp/src/main/java/com/stupidbeauty/ftpserver/lib/ControlConnectHandler.java b/builtinftp/src/main/java/com/stupidbeauty/ftpserver/lib/ControlConnectHandler.java index 7612df3..482ad5c 100644 --- a/builtinftp/src/main/java/com/stupidbeauty/ftpserver/lib/ControlConnectHandler.java +++ b/builtinftp/src/main/java/com/stupidbeauty/ftpserver/lib/ControlConnectHandler.java @@ -29,6 +29,12 @@ import java.util.Random; import java.net.InetAddress; import java.net.UnknownHostException; +import android.net.Uri; +import android.provider.Settings; +import android.content.Intent; +import android.os.Environment; + + class ControlConnectHandler { @@ -518,6 +524,39 @@ public void run() uiHandler.post(runnable); } //if (eventListener!=null) // 有事件监听器。 } //private void notifyEvent(String eventCode) + + /** + * CheCK THE permission of file manager. + */ + private void checkFileManagerPermission() + { + boolean isFileManager=Environment.isExternalStorageManager(); + + if (isFileManager) // Is file manager + { + } // if (isFileManager) // Is file manager + else // Not file manager + { +// Chen xin + gotoFileManagerSettingsPage(); // Goto file manager settings page. + } // else // Not file manager + } // private void checkFileManagerPermission() + + /** + * Goto file manager settings page. + */ + private void gotoFileManagerSettingsPage() + { + Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); // 跳转语言和输入设备 + + String packageNmae=context.getPackageName(); + + String url = "package:"+packageNmae; + + intent.setData(Uri.parse(url)); + + context.startActivity(intent); + } // private void gotoFileManagerSettingsPage() /** * 处理目录列表命令。 @@ -532,6 +571,8 @@ private void processListCommand(String content) binaryStringSender.sendStringInBinaryMode(replyString); // 发送回复。 sendListContentBySender(content, currentWorkingDirectory); // 发送目录列表数据。 + + checkFileManagerPermission(); // CheCK THE permission of file manager. } //private void processListCommand(String content) /**