2 回答
TA贡献1872条经验 获得超3个赞
如果我理解正确,您想从应用程序创建的快捷方式启动应用程序。然后你可以做这样的事情:
public void createShortCut{
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
shortcutintent.putExtra("duplicate", false);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext, R.drawable.icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent("com.whatsapp"));
sendBroadcast(shortcutintent);
}
检查这个
编辑 :
这是使用 ShortcutManagerCompat 的最佳方法:
fun createShortCut(){
val str= ""
val uri = Uri.parse("http://instagram.com/_u/"+str)
val instagramIntent = Intent(Intent.ACTION_VIEW,uri)
instagramIntent.setPackage("com.instagram.android")
val icon = IconCompat.createWithResource(this,R.drawable.ic_launcher_background)
val pinShortcutInfo = ShortcutInfoCompat.Builder(this, "shortcutID")
.setIcon(icon)
.setShortLabel("MyShortcut")
.setIntent(instagramIntent)
.build()
ShortcutManagerCompat.requestPinShortcut(this,pinShortcutInfo,null)
}
TA贡献1785条经验 获得超8个赞
不确定我是否理解你想要完成的任务,但这里是。在您的清单中,您可以添加这样的代码
<activity
android:name=".activityName"
android:screenOrientation="sensorLandscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
意图过滤器 action.Main 可以从主屏幕启动您的活动。因此,只需将该过滤器添加到您要放在主屏幕上的活动中即可。
添加回答
举报