猿问

快捷方式添加到 Android 主屏幕

我怎样才能做一些类似于 Telegram 和许多其他应用程序的事情,它允许您在这种情况下通过电报添加一个元素是一个联系人,如果点击它会打开联系人聊天窗口。

我想做这样的事情,在home中添加一个元素,如果你点击它,允许你做某个操作。

但是我必须在我的外部打开一个应用程序。

编辑:


单击主屏幕上的链接时必须调用的意图,str 名称连接元素。


Intent appIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://instagram.com/_u/"+str));

appIntent.setPackage("com.instagram.android");

Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://instagram.com/"+str));

 try {

     startActivity(appIntent);

} catch (ActivityNotFoundException ex) {

    startActivity(webIntent);

}

编辑2:


添加:


<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

代码:


if (ShortcutManagerCompat.isRequestPinShortcutSupported(getBaseContext())) {

Intent instagramIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://instagram.com/_u/" + str));

instagramIntent.setPackage("com.instagram.android");

Bitmap bmp = getCroppedBitmap(bitmap);

final IconCompat icon = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) ? IconCompat.createWithAdaptiveBitmap(bmp) : IconCompat.createWithBitmap(bmp);

final ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(getBaseContext(), UUID.randomUUID().toString())

                        .setShortLabel(str)

                        .setLongLabel(str)

                        .setIcon(icon)

                        .setIntent(instagramIntent)

                        .build();

ShortcutManagerCompat.requestPinShortcut(getBaseContext(), shortcut, null);

            }


慕姐8265434
浏览 258回答 2
2回答

守着一只汪

如果我理解正确,您想从应用程序创建的快捷方式启动应用程序。然后你可以做这样的事情:public void createShortCut{&nbsp; &nbsp; Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");&nbsp; &nbsp; shortcutintent.putExtra("duplicate", false);&nbsp; &nbsp; shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));&nbsp; &nbsp; Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext, R.drawable.icon);&nbsp; &nbsp; shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);&nbsp; &nbsp; shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent("com.whatsapp"));&nbsp; &nbsp; sendBroadcast(shortcutintent);}检查这个编辑 :这是使用 ShortcutManagerCompat 的最佳方法:fun createShortCut(){&nbsp; &nbsp; val str= ""&nbsp; &nbsp; val uri = Uri.parse("http://instagram.com/_u/"+str)&nbsp; &nbsp; val instagramIntent = Intent(Intent.ACTION_VIEW,uri)&nbsp; &nbsp; instagramIntent.setPackage("com.instagram.android")&nbsp; &nbsp; val icon = IconCompat.createWithResource(this,R.drawable.ic_launcher_background)&nbsp; &nbsp; val pinShortcutInfo = ShortcutInfoCompat.Builder(this, "shortcutID")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .setIcon(icon)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .setShortLabel("MyShortcut")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .setIntent(instagramIntent)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .build()&nbsp; &nbsp; ShortcutManagerCompat.requestPinShortcut(this,pinShortcutInfo,null)}

慕的地10843

不确定我是否理解你想要完成的任务,但这里是。在您的清单中,您可以添加这样的代码<activity&nbsp; &nbsp; android:name=".activityName"&nbsp; &nbsp; android:screenOrientation="sensorLandscape">&nbsp; &nbsp; &nbsp; &nbsp; <intent-filter>&nbsp; &nbsp; &nbsp; &nbsp; <action android:name="android.intent.action.MAIN" />&nbsp; &nbsp; &nbsp; &nbsp; <category android:name="android.intent.category.LAUNCHER" />&nbsp; &nbsp; &nbsp; &nbsp; </intent-filter>&nbsp; &nbsp; </activity>意图过滤器 action.Main 可以从主屏幕启动您的活动。因此,只需将该过滤器添加到您要放在主屏幕上的活动中即可。
随时随地看视频慕课网APP

相关分类

Java
我要回答