Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
android-mvp-flyfun
提交
414ceb9f
A
android-mvp-flyfun
项目概览
门心叼龙
/
android-mvp-flyfun
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
android-mvp-flyfun
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
414ceb9f
编写于
12月 26, 2018
作者:
门心叼龙
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add mutil util
上级
512c010d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
285 addition
and
0 deletion
+285
-0
.idea/markdown-exported-files.xml
.idea/markdown-exported-files.xml
+8
-0
.idea/markdown-navigator.xml
.idea/markdown-navigator.xml
+83
-0
app/src/main/java/com/yesway/android/util/MultiMediaUtil.java
...src/main/java/com/yesway/android/util/MultiMediaUtil.java
+194
-0
未找到文件。
.idea/markdown-exported-files.xml
0 → 100644
浏览文件 @
414ceb9f
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"MarkdownExportedFiles"
>
<htmlFiles
/>
<imageFiles
/>
<otherFiles
/>
</component>
</project>
\ No newline at end of file
.idea/markdown-navigator.xml
0 → 100644
浏览文件 @
414ceb9f
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"MarkdownProjectSettings"
wasCopied=
"false"
>
<PreviewSettings
splitEditorLayout=
"SPLIT"
splitEditorPreview=
"PREVIEW"
useGrayscaleRendering=
"false"
zoomFactor=
"1.0"
maxImageWidth=
"0"
showGitHubPageIfSynced=
"false"
allowBrowsingInPreview=
"false"
synchronizePreviewPosition=
"true"
highlightPreviewType=
"NONE"
highlightFadeOut=
"5"
highlightOnTyping=
"true"
synchronizeSourcePosition=
"true"
verticallyAlignSourceAndPreviewSyncPosition=
"true"
showSearchHighlightsInPreview=
"false"
showSelectionInPreview=
"true"
openRemoteLinks=
"true"
replaceUnicodeEmoji=
"false"
lastLayoutSetsDefault=
"false"
>
<PanelProvider>
<provider
providerId=
"com.vladsch.idea.multimarkdown.editor.swing.html.panel"
providerName=
"Default - Swing"
/>
</PanelProvider>
</PreviewSettings>
<ParserSettings
gitHubSyntaxChange=
"false"
emojiShortcuts=
"1"
emojiImages=
"0"
>
<PegdownExtensions>
<option
name=
"ABBREVIATIONS"
value=
"false"
/>
<option
name=
"ANCHORLINKS"
value=
"true"
/>
<option
name=
"ASIDE"
value=
"false"
/>
<option
name=
"ATXHEADERSPACE"
value=
"true"
/>
<option
name=
"AUTOLINKS"
value=
"true"
/>
<option
name=
"DEFINITIONS"
value=
"false"
/>
<option
name=
"DEFINITION_BREAK_DOUBLE_BLANK_LINE"
value=
"false"
/>
<option
name=
"FENCED_CODE_BLOCKS"
value=
"true"
/>
<option
name=
"FOOTNOTES"
value=
"false"
/>
<option
name=
"HARDWRAPS"
value=
"false"
/>
<option
name=
"HTML_DEEP_PARSER"
value=
"false"
/>
<option
name=
"INSERTED"
value=
"false"
/>
<option
name=
"QUOTES"
value=
"false"
/>
<option
name=
"RELAXEDHRULES"
value=
"true"
/>
<option
name=
"SMARTS"
value=
"false"
/>
<option
name=
"STRIKETHROUGH"
value=
"true"
/>
<option
name=
"SUBSCRIPT"
value=
"false"
/>
<option
name=
"SUPERSCRIPT"
value=
"false"
/>
<option
name=
"SUPPRESS_HTML_BLOCKS"
value=
"false"
/>
<option
name=
"SUPPRESS_INLINE_HTML"
value=
"false"
/>
<option
name=
"TABLES"
value=
"true"
/>
<option
name=
"TASKLISTITEMS"
value=
"true"
/>
<option
name=
"TOC"
value=
"false"
/>
<option
name=
"WIKILINKS"
value=
"false"
/>
</PegdownExtensions>
<ParserOptions>
<option
name=
"ADMONITION_EXT"
value=
"false"
/>
<option
name=
"ATTRIBUTES_EXT"
value=
"false"
/>
<option
name=
"COMMONMARK_LISTS"
value=
"true"
/>
<option
name=
"DUMMY"
value=
"false"
/>
<option
name=
"EMOJI_SHORTCUTS"
value=
"true"
/>
<option
name=
"ENUMERATED_REFERENCES_EXT"
value=
"false"
/>
<option
name=
"FLEXMARK_FRONT_MATTER"
value=
"false"
/>
<option
name=
"GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA"
value=
"false"
/>
<option
name=
"GFM_TABLE_RENDERING"
value=
"true"
/>
<option
name=
"GITBOOK_URL_ENCODING"
value=
"false"
/>
<option
name=
"GITHUB_LISTS"
value=
"false"
/>
<option
name=
"GITHUB_WIKI_LINKS"
value=
"false"
/>
<option
name=
"GITLAB_EXT"
value=
"false"
/>
<option
name=
"GITLAB_MATH_EXT"
value=
"false"
/>
<option
name=
"GITLAB_MERMAID_EXT"
value=
"false"
/>
<option
name=
"HEADER_ID_NON_ASCII_TO_LOWERCASE"
value=
"false"
/>
<option
name=
"HEADER_ID_NO_DUPED_DASHES"
value=
"false"
/>
<option
name=
"JEKYLL_FRONT_MATTER"
value=
"false"
/>
<option
name=
"MACROS_EXT"
value=
"false"
/>
<option
name=
"NO_TEXT_ATTRIBUTES"
value=
"false"
/>
<option
name=
"PARSE_HTML_ANCHOR_ID"
value=
"false"
/>
<option
name=
"SIM_TOC_BLANK_LINE_SPACER"
value=
"true"
/>
</ParserOptions>
</ParserSettings>
<HtmlSettings
headerTopEnabled=
"false"
headerBottomEnabled=
"false"
bodyTopEnabled=
"false"
bodyBottomEnabled=
"false"
embedUrlContent=
"false"
addPageHeader=
"true"
embedImages=
"false"
embedHttpImages=
"false"
imageUriSerials=
"false"
addDocTypeHtml=
"true"
noParaTags=
"false"
>
<GeneratorProvider>
<provider
providerId=
"com.vladsch.idea.multimarkdown.editor.swing.html.generator"
providerName=
"Default Swing HTML Generator"
/>
</GeneratorProvider>
<headerTop
/>
<headerBottom
/>
<bodyTop
/>
<bodyBottom
/>
</HtmlSettings>
<CssSettings
previewScheme=
"UI_SCHEME"
cssUri=
""
isCssUriEnabled=
"false"
isCssUriSerial=
"true"
isCssTextEnabled=
"false"
isDynamicPageWidth=
"true"
>
<StylesheetProvider>
<provider
providerId=
"com.vladsch.idea.multimarkdown.editor.swing.html.css"
providerName=
"Default Swing Stylesheet"
/>
</StylesheetProvider>
<ScriptProviders
/>
<cssText
/>
<cssUriHistory
/>
</CssSettings>
<HtmlExportSettings
updateOnSave=
"false"
parentDir=
""
targetDir=
""
cssDir=
""
scriptDir=
""
plainHtml=
"false"
imageDir=
""
copyLinkedImages=
"false"
imageUniquifyType=
"0"
targetPathType=
"2"
targetExt=
""
useTargetExt=
"false"
noCssNoScripts=
"false"
useElementStyleAttribute=
"false"
linkToExportedHtml=
"true"
exportOnSettingsChange=
"true"
regenerateOnProjectOpen=
"false"
linkFormatType=
"HTTP_ABSOLUTE"
/>
<LinkMapSettings>
<textMaps
/>
</LinkMapSettings>
</component>
</project>
\ No newline at end of file
app/src/main/java/com/yesway/android/util/MultiMediaUtil.java
0 → 100644
浏览文件 @
414ceb9f
package
com.zhijiaxing.travel.util
;
import
android.Manifest
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Environment
;
import
android.provider.MediaStore
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentActivity
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
io.reactivex.functions.Consumer
;
import
me.nereo.multi_image_selector.MultiImageSelector
;
/**
* Description: <h3>多媒体工具类</h3>
* <ul>
* <li>1.图片选择器,可算多张图片</li>
* <li>2.拍照</li>
* <li>3.拍视频</li>
* <li>4.创建一个图片路径</li>
* <li>5.创建一个视频路径</li>
* </ul>
* <h3>注意事项:</h3>
* <ul><li>1. 拍照、拍视频、选择图片完成的回调都在onActivityResult中回调的</l1>
* <li>2.选择图片获取:List<String> path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT)</li>
* </ul>
* Author: gxl<br>
* Date: 2018/12/25<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
MultiMediaUtil
{
public
static
final
int
SELECT_IMAGE
=
1001
;
public
static
final
int
TAKE_PHONE
=
1002
;
public
static
final
int
TAKE_VIDEO
=
1003
;
/**
*
* 打开图片选择器,选择图片<br>
* 来获取图片
* @param activity
* @param count:选择图片个数
* @param requestcode
*/
public
static
void
pohotoSelect
(
Activity
activity
,
int
count
,
int
requestcode
)
{
pohotoSelect
(
activity
,
null
,
count
,
requestcode
);
}
public
static
void
pohotoSelect
(
Fragment
fragment
,
int
count
,
int
requestcode
)
{
pohotoSelect
(
null
,
fragment
,
count
,
requestcode
);
}
private
static
void
pohotoSelect
(
Activity
activity
,
Fragment
fragment
,
int
count
,
int
requestcode
)
{
if
(
activity
!=
null
)
{
MultiImageSelector
.
create
().
showCamera
(
false
).
count
(
count
).
single
().
multi
()
//.origin(ArrayList<String>)
.
start
(
activity
,
requestcode
);
}
else
if
(
fragment
!=
null
)
{
MultiImageSelector
.
create
().
showCamera
(
false
).
count
(
count
).
single
().
multi
()
//.origin(ArrayList<String>)
.
start
(
fragment
,
requestcode
);
}
}
/**
* 拍照
* @param activity
* @param path:照片存放的路径
* @param requestcode
*/
public
static
void
takePhoto
(
FragmentActivity
activity
,
String
path
,
int
requestcode
)
{
takePhoto
(
activity
,
null
,
path
,
requestcode
);
}
public
static
void
takePhoto
(
Fragment
fragment
,
String
path
,
int
requestcode
)
{
takePhoto
(
null
,
fragment
,
path
,
requestcode
);
}
private
static
void
takePhoto
(
final
FragmentActivity
activity
,
final
Fragment
fragment
,
final
String
path
,
final
int
requestcode
)
{
if
(
activity
==
null
&&
fragment
==
null
)
{
return
;
}
RxPermissions
rxPermissions
=
null
;
if
(
activity
!=
null
)
{
rxPermissions
=
new
RxPermissions
(
activity
);
}
else
if
(
fragment
!=
null
)
{
rxPermissions
=
new
RxPermissions
(
fragment
);
}
rxPermissions
.
request
(
Manifest
.
permission
.
CAMERA
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
)
{
File
file
=
new
File
(
path
);
try
{
if
(
file
.
createNewFile
())
{
Intent
intent
=
new
Intent
();
intent
.
setAction
(
MediaStore
.
ACTION_IMAGE_CAPTURE
);
intent
.
addCategory
(
Intent
.
CATEGORY_DEFAULT
);
intent
.
putExtra
(
MediaStore
.
EXTRA_OUTPUT
,
Uri
.
fromFile
(
file
));
if
(
activity
!=
null
)
{
activity
.
startActivityForResult
(
intent
,
requestcode
);
}
else
if
(
fragment
!=
null
)
{
fragment
.
startActivityForResult
(
intent
,
requestcode
);
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
ToastUtil
.
showToast
(
"无法启动拍照程序"
);
}
}
else
{
ToastUtil
.
showToast
(
"无摄像头权限,无法进行拍照!"
);
}
}
});
}
/**
* 拍视频
* @param activity
* @param path:视频存放的路径
* @param requestcode
*/
public
static
void
takeVideo
(
final
FragmentActivity
activity
,
final
String
path
,
final
int
requestcode
)
{
takeVideo
(
activity
,
null
,
path
,
requestcode
);
}
public
static
void
takeVideo
(
final
Fragment
fragment
,
final
String
path
,
final
int
requestcode
)
{
takeVideo
(
null
,
fragment
,
path
,
requestcode
);
}
private
static
void
takeVideo
(
final
FragmentActivity
activity
,
final
Fragment
fragment
,
final
String
path
,
final
int
requestcode
)
{
if
(
activity
==
null
&&
fragment
==
null
)
{
return
;
}
RxPermissions
rxPermissions
=
null
;
if
(
activity
!=
null
)
{
rxPermissions
=
new
RxPermissions
(
activity
);
}
else
if
(
fragment
!=
null
)
{
rxPermissions
=
new
RxPermissions
(
fragment
);
}
rxPermissions
.
request
(
Manifest
.
permission
.
CAMERA
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
)
{
File
file
=
new
File
(
path
);
try
{
if
(
file
.
createNewFile
())
{
Intent
intent
=
new
Intent
();
intent
.
setAction
(
MediaStore
.
ACTION_VIDEO_CAPTURE
);
intent
.
addCategory
(
Intent
.
CATEGORY_DEFAULT
);
intent
.
putExtra
(
MediaStore
.
EXTRA_OUTPUT
,
Uri
.
fromFile
(
file
));
if
(
activity
!=
null
)
{
activity
.
startActivityForResult
(
intent
,
requestcode
);
}
else
if
(
fragment
!=
null
)
{
fragment
.
startActivityForResult
(
intent
,
requestcode
);
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
ToastUtil
.
showToast
(
"无法启动拍视频程序"
);
}
}
else
{
ToastUtil
.
showToast
(
"无摄像头权限,无法进行拍视频!"
);
}
}
});
}
//获取图片路径
public
static
String
getPhotoPath
(
Activity
activity
)
{
String
filename
=
new
SimpleDateFormat
(
"yyyyMMdd_HHmmss"
).
format
(
new
Date
())
+
".jpg"
;
String
filepath
=
activity
.
getExternalFilesDir
(
Environment
.
DIRECTORY_PICTURES
).
getAbsolutePath
()
+
File
.
separator
+
filename
;
return
filepath
;
}
//获取视频的路径
public
static
String
getVideoPath
(
Activity
activity
)
{
String
filename
=
new
SimpleDateFormat
(
"yyyyMMdd_HHmmss"
).
format
(
new
Date
())
+
".3gp"
;
String
filepath
=
activity
.
getExternalFilesDir
(
Environment
.
DIRECTORY_MOVIES
).
getAbsolutePath
()
+
File
.
separator
+
filename
;
return
filepath
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录