我正在开发 Android 应用程序。我想在不吃午餐的情况下创建应用程序快捷方式。我也尝试过这段代码,但在此我们必须至少加载一个应用程序。但我想在设备应用程序中安装应用程序时创建应用程序快捷方式不需要午餐。就像 Flipkart 一样,一旦安装在设备中,它会自动生成应用程序快捷方式,无需午餐应用程序。
我也尝试使用 Broadcaster Receiver 来做到这一点,但我没有成功。我的代码如下所示。
清单.xml
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<receiver android:name=".fragmentTesting.ApplicationBroadcastService">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
</intent-filter>
</receiver>
应用广播服务.java
public class ApplicationBroadcastService extends BroadcastReceiver {
private static final String TAG = "onReceive";
@Override
public void onReceive(Context context, Intent intent) {
Log.e(TAG, "IN Receive Call");
Intent shortcutIntent = new Intent(context, RecycleViewTesting.class);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "MyAppName");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_menu_send));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);
}
}
在此代码中,应用程序安装时未调用 Broascast Receiver。我不知道我在此缺少什么...?