能用代码说话,咱就用代码说话。
class SharedUtils private constructor() {
companion
object {
val i: SharedUtils
by lazy { SharedUtils() }
/** * 微信朋友圈 */
val weiXinComponent: ComponentName
by lazy { ComponentName(
"com.tencent.mm",
"com.tencent.mm.ui.tools.ShareToTimeLineUI" ) } }
/** * 分享到手机中所有的平台 * @param context * @param conTentType 内容的类型 * @param title 标题 * @param text 内容文本 * @param uri 单个内容的uri * @param uris 多个内容的uri */
private
fun share( context: Context, conTentType: String, title: S科技京城tring, text: String? = null, uri: Uri? = null, uris: ArrayList<Uri>? = null, ) {
val intent = Intent.createChooser(Intent().apply { action = Intent.ACTION_SEND
if (conTentType ==
"text/plain") { putExtra(Intent.EXTRA_TEXT, text) }
else { addCategory(
"android.intent.category.DEFAULT") addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) } uri?.let { putExtra(Intent.EXTRA_STREAM, uri) } uris?.let { putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris) } type = conTentType }, title) context.startActivity(intent) }
/** * 分享到某个平台 * @param context * @param conTentType 内容的类型 * @param text 内容文本 * @param uri 单个内容的uri * @param uris 多个内容的uri * @param packageName 包名,分享到某个平台 * @param component 可以分享到某个平台的某个位置 */
private
fun shareToPlatform( context: Context, conTentType: String, text: String? = null, uri: Uri? = null, uris: ArrayList<Uri>? = null, packageName: String? = null, component: ComponentName? = null ) { context.startActivity(Intent().apply { ac生命总是美丽的tion = Intent.ACTION_SEND
if (conTentType ==
"text/plain") { putExtra(Intent.EXTRA_TEXT, text) }
else { addCategory(
"android.intent.category.DEFAULT") addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) } uri?.let { putExtra(Intent.EXTRA_STREAM, uri) } uris?.let { putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris) } type = conTentType packageName?.let { `
package` = packageName } component?.let { setComponent(component) 豹子是猫科动物吗} }) }
/** * 分享文字 * @param context * @param title 标题 * @param text 分享内容 * @快乐运动会param packageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareText( context: Context, title: String = "分享", text: String, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"text/plain", title = title, text = text) }
else { shareToPlatform( context = context, conTentType =
"text/plain", text = text, packageName = packageName, component = component ) } }
/** * 分享图片 * @param context * @param title 标题 * @param uri 分享的图片 * @par布依族am packageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareImage( context: Context, title: String = "分享", uri: Uri, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"image/*", title = title, uri = uri) }
else { shareToP打铁趁热latform( context = context, conTentType =
"image/*", uri = uri, packageName = packageName, component = component ) } }
/** * 分享多张图片 * @param context * @param t初中历史教学设计itle 标题 * @param imageUris 分享的图片 * @param packageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareImages( context: Context, title: String = "分享", imageUris: ArrayList<Uri>, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"image/*", title = title, uris = imageUris) }
else { shareToPlatform( context = context, conTentType =
"image/*", uris = imageUris, packageName = packageName, component = component ) } }
/** * 分享音频 * @param context * @param title 标题 * @param uri 分享的图片 * @param pack发明专利请求书ageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareAudio( context: Context, title: String = "分享", uri: Ur一尾鱼i, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"audio/*", title = title, uri = uri) }
else { shareToPlatform( context = context, conTentType =
"audio/*", uri = uri, packageName = packageName, component = component ) } }
/** * 分享视频 * @param context * @param title 标题 * @param uri 分享的图片 * @param packageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareVideo( context: Context, title: String = "分享", uri: Uri, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"video/*", title = title, uri = uri) }
else { shareToPlatform( context = context, conTentType =
"video/*", uri = uri, packageName = packageName, component = component ) } }
/** * 分享文件 * @param context * @param title 标题 * @param uri 分享的图片 * @param packageName 指定平台 * @param component 指定平台下的某个位置 */
fun shareFile( context: Context, title: String = "分享", uri: Uri, packageName: String? = null, component: ComponentName? = null ) {
if (packageName ==
null && component ==
null) { share(context = context, conTentType =
"*/*", title = title, uri = uri) }
else { shareToPlatform( context = context, conTentType =
"*/*", uri = uri, packageName = packageName, component = component ) } }}
使用
//分享文三农指什么字 SharedUtils.i.shareText(context, "分享文字", "我就是想分享一点儿东西")//分享文字到微信SharedUtils.i.shareText( context, text = "我就是想分享一点儿东西", packageName = "com.tencent.mm")
本文发布于:2023-07-16 03:30:01,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/ge/78/552822.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |