如何解决Android 快捷方式在 VIVO 10 中不起作用
我在我的应用程序中实现了快捷方式,但这在 VIVO 10(Funtouch OS)中不起作用。请帮我。我已经用过很多方法但都没有成功。
@SuppressLint("NewApi")
private fun shortcut(){
val shortcutManager = getSystemService(ShortcutManager::class.java)
val nhentaiIntent = Intent(this,MainActivity::class.java)
nhentaiIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
nhentaiIntent.action = Intent.ACTION_VIEW
if (shortcutManager!!.isRequestPinShortcutSupported) {
val pinShortcutInfo = ShortcutInfo.Builder(this,"my-shortcut")
.setIcon(Icon.createWithResource(this,R.mipmap.ic_launcher))
.setShortLabel("hello Shortcut")
.setIntent(nhentaiIntent)
.build()
val pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(pinShortcutInfo)
val successCallback = PendingIntent.getbroadcast(this,/* request code */ 0,pinnedShortcutCallbackIntent,/* flags */ 0)
shortcutManager.requestPinShortcut(pinShortcutInfo,successCallback.intentSender)
}
}
Intent nhentaiIntent = new Intent(context,MainActivity.class);
nhentaiIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
nhentaiIntent.setAction(Intent.ACTION_VIEW);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ShortcutManager shortcutManager = context.getSystemService(ShortcutManager.class);
if (shortcutManager.isRequestPinShortcutSupported()) {
ShortcutInfo info = new ShortcutInfo.Builder(context,"Shortcut")
.setIntent(nhentaiIntent)
.setIcon(Icon.createWithResource(context,R.mipmap.ic_launcher))
.setShortLabel("Hello ")
.setLongLabel("Lable")
.build();
Intent addIntent = shortcutManager.createShortcutResultIntent(info);
shortcutManager.requestPinShortcut(info,PendingIntent.getbroadcast(context,addIntent,0).getIntentSender());
Toast.makeText(context,"supported_launcher",Toast.LENGTH_LONG).show();
} else {
// Todo: Maybe implement this for launchers without pin shortcut support?
// Todo: Should be the same with the fallback for Android < O
// for Now just show unsupported
Toast.makeText(context,"unsupported_launcher",Toast.LENGTH_LONG).show();
}
}
private fun addShourcut() {
if (ShortcutManagerCompat.isRequestPinShortcutSupported(applicationContext)) {
val shortcutInfo =
ShortcutInfoCompat.Builder(applicationContext,"#1")
.setIntent(
Intent(applicationContext,MainActivity::class.java).setAction(
Intent.ACTION_MAIN
)
) // !!! intent's action must be set on oreo
.setShortLabel("Test")
.setIcon(
IconCompat.createWithResource(
applicationContext,R.mipmap.ic_launcher
)
)
.build()
ShortcutManagerCompat.requestPinShortcut(applicationContext,shortcutInfo,null)
} else {
Toast.makeText(
this@MainActivity,"launcher does not support short cut icon",Toast.LENGTH_LONG).show()
}
}
请帮助我在此问题上花费更多时间的任何人。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。