当前位置: 首页 > news >正文

昆明网站建设猫咪科技抚州网站建设

昆明网站建设猫咪科技,抚州网站建设,移动端网站建设公司,酷炫 网站模板android某个功能和应用快捷方式 最近接受到一个任务#xff0c;给应用内的一个功能点创建一个快捷方式#xff0c;方便用户操作快捷、 一#xff0c;第一种方式#xff0c;只适用Build.VERSION.SDK_INT25 以上的版本 /** shortcutId 快捷方式的标示#xff0c;自己定…android某个功能和应用快捷方式 最近接受到一个任务给应用内的一个功能点创建一个快捷方式方便用户操作快捷、 一第一种方式只适用Build.VERSION.SDK_INT25 以上的版本 /** shortcutId 快捷方式的标示自己定义 * 固定快捷方式* Build.VERSION.SDK_INT25以上*/private fun createQuestPinShortcut(context: Context) {if (Build.VERSION.SDK_INT Build.VERSION_CODES.N_MR1) {if (mShortcutManager null) {mShortcutManager context.getSystemService(ShortcutManager::class.java)}var isExit falsemShortcutManager?.pinnedShortcuts?.forEach {if (shortcutId it.id) {//判断快捷方式是否已存在isExit trueToast.showToast(context, 快捷方式已存在)returnforEach}}if (mShortcutManager?.isRequestPinShortcutSupported true !isExit) {val intent Intent(context, ShortcutAlarmCallActivity::class.java)intent.action shortcutActionintent.action Intent.ACTION_VIEWval pinShortcutInfo ShortcutInfo.Builder(context, shortcutId).setShortLabel(context.getString(R.string.shortcut_alarm_long)).setLongLabel(context.getString(R.string.shortcut_alarm_long)).setIcon(Icon.createWithResource(context, R.mipmap.icon_alarm_emergency)).setIntent(intent).build()// 注册固定快捷方式成功广播val intentFilter IntentFilter()intentFilter.addAction(shortcutBroadcast)val receiver ShoutCutReceiver()context.registerReceiver(receiver, intentFilter)val flag PendingIntent.FLAG_IMMUTABLE or FLAG_UPDATE_CURRENTval pinnedShortcutCallbackIntent Intent(shortcutBroadcast)val successCallback PendingIntent.getBroadcast(context,0,pinnedShortcutCallbackIntent,flag)mShortcutManager?.requestPinShortcut(pinShortcutInfo, successCallback.intentSender)}}}二、第二种方式 适配android 8以下的版本和以上的版本 /*** 兼容创建快捷方式* param context Context*/open fun addShortCutCompact(context: Context) {if (isShortCutExist(context, context.getString(R.string.shortcut_alarm_long))) {Toast.showToast(context, 快捷方式已存在)return}if (!ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {Toast.showToast(context, 无法创建快捷方式)return}val shortcutInfoIntent Intent()shortcutInfoIntent.setClassName(context, className)shortcutInfoIntent.action Intent.ACTION_VIEW //action必须设置不然报错val info ShortcutInfoCompat.Builder(context, shortcutId).setIcon(IconCompat.createWithResource(context, R.mipmap.icon_alarm_emergency)).setShortLabel(context.getString(R.string.shortcut_alarm_long)).setIntent(shortcutInfoIntent).build()// 注册固定快捷方式成功广播val intentFilter IntentFilter()intentFilter.addAction(shortcutBroadcast)val receiver ShoutCutReceiver()context.registerReceiver(receiver, intentFilter)val pinnedShortcutCallbackIntent Intent(shortcutBroadcast)val flag PendingIntent.FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT//当添加快捷方式的确认弹框弹出来时将被回调val shortcutCallbackIntent PendingIntent.getBroadcast(context,0,pinnedShortcutCallbackIntent,if (Build.VERSION.SDK_INT Build.VERSION_CODES.S) flag else 0)ShortcutManagerCompat.requestPinShortcut(context,info,null)}三、用第二种方式可以用以下方法判断是否存在快捷方式 /*** 判断是否存在快捷方式* param context Context* return Boolean*/private fun isShortCutExist(context: Context, title: String): Boolean {var isInstallShortcut falseif (TextUtils.isEmpty(title)) {return false}val contentResolver: ContentResolver context.contentResolvertry {val authority com.android.launcher3.settingsval url content://$authority/favorites?notifytrueval contentUrl: Uri Uri.parse(url)val strArray arrayOf(title, iconResource)val cursor: Cursor? contentResolver.query(contentUrl, strArray, title?,arrayOf(title.trim()), null)cursor?.let {if (it.count 0) {isInstallShortcut true}if (!it.isClosed) {it.close()}}} catch (e: Exception) {e.toString()}return isInstallShortcut}****## 最近要记得添加权限****kotlin!-- 添加快捷方式 --uses-permission android:namecom.android.launcher.permission.INSTALL_SHORTCUT /!-- 移除快捷方式 --uses-permission android:namecom.android.launcher.permission.UNINSTALL_SHORTCUT /!-- 查询快捷方式4.4以上 --uses-permission android:namecom.android.launcher3.permission.READ_SETTINGS /uses-permission android:namecom.android.launcher3.permission.WRITE_SETTINGS /如果要添加创建成功提示 class ShoutCutReceiver: BroadcastReceiver() {override fun onReceive(context: Context, intent: Intent) {Log.i(ShoutCutReceiver, onReceive: 创建成功)Toast.showToast(context, R.drawable.icon_succes_tip,创建成功)} }
http://www.pierceye.com/news/606570/

相关文章:

  • 山东网站建设运行工资做的很漂亮的网站
  • 网站免费源码大全无用下载淘宝支持做微交易网站吗
  • 常用网站推广方法石家庄营销网站建设价格
  • 网站界面设计的基本原则是什么论坛做视频网站
  • 学校网站总务建设怎么做网站流量竞品分析
  • 企业网站建设所需要的资料网站备案 icp备案
  • 商城类网站方案中国风 wordpress主题
  • 网站更换服务器教程南阳网站推广招聘
  • 海尔网站的建设目标四库一平台个人信息查询
  • 佛山市建设网站公司网站手机端和电脑端
  • 属于c2c的网站是重庆化工建设信息网站
  • 高端大气网站推荐网赌网站建设多少钱
  • 宁波网站关键词优化排名网站修改图片怎么做
  • 苏州网站建设案例购买网站域名
  • 自己做剧本网站重庆建设工业公司官网
  • 中国网站建设中心建网站和开发软件哪个难
  • 优化网站被百度屏阿里云网站备案核验单
  • 肇庆做网站哪家好河北建设工程信息网正规网站
  • 怎么做展示网站公司网站管理规定
  • 娄底网站制作备案号查询平台
  • 青岛网站排名方案优化的定义
  • 微网站开发外包杨浦做网站公司
  • 网站推广服务包括哪些个人简历网官网免费
  • 铜仁住房和城乡建设局网站安贞做网站公司
  • 做网站客户尾款老不给怎么办东莞市研发网站建设品牌
  • 文化网站策划wordpress iscategory
  • 北京社区网站建设wordpress主题 sen
  • 做外贸商城网站重庆seo整站优化方案范文
  • 做AI免费网站wordpress 论坛app
  • 东阿网站建设产品芜湖网络科技有限公司