Создание ярлыка на домашнем экране

1

У меня есть приложение, которое может выполнять различные функции. Я хочу создать ярлык для наиболее часто используемой функции на моем рабочем столе телефона Android.

Может кто-нибудь скажет мне (с кодом и как работает код), как можно создать ярлык? Я видел много строк кода, но я не могу понять. Пожалуйста, объясните мне.

Я использовал следующий код => Основная проблема заключается в том, что ярлык создается на главном экране. Но когда я нажимаю на него, отображается сообщение " Toast", например "Приложение не установлено на вашем телефоне ". И в журнале появляется сообщение об ошибке

1) WARN/ActivityManager (58): Permission denied: checkComponentPermission() reqUid = 10046 2) WARN/ActivityManager (58): Разрешение отказа: начало Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa/. s bnds = [3,240] [77,319]} из ProcessRecord {44f19b88 123: com.android.launcher/10025} (pid = 123, uid = 10025) требует null 3) ERROR/Launcher (123): Launcher не имеет разрешения для запуска Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa/.s bnds = [3,240] [77,319]}. Обязательно создайте ГЛАВНЫЙ фильтр-замысел для соответствующего действия или используйте экспортированный атрибут для этого действия. tag = ShortcutInfo (title= Sukumar) intent = Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa/.s bnds = [3,240] [77,319]} 4) ERROR/Launcher (123): java. lang.SecurityException: отказ от разрешения: начало Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa/.s bnds = [3,240] [77,319]} из ProcessRecord {44f19b88 123: com.android.launcher/10025 } (pid = 123, uid = 10025) требует null


'package a.a.a;

 import android.app.Activity;
  import android.content.Intent;
    import android.os.Bundle;

public class ShortActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent i=new Intent(this,s.class);
    Intent j=new Intent();
    j.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i);
    j.putExtra(Intent.EXTRA_SHORTCUT_NAME,"Sukumar");
    j.putExtra(Intent.EXTRA_SHORTCUT_ICON,R.drawable.icon);
    j.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    this.sendBroadcast(j);


}


}'
Теги:
shortcut

1 ответ

0

Чтобы создать ярлык приложения на главном экране Android, нам просто нужно запустить простой Intent с действием com.android.launcher.action.INSTALL_SHORTCUT. Имя и значок ярлыка, мы можем поместить его с параметрами exrta Intent.
Проверьте приведенный ниже метод:

Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intentActivity);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, textShortcut);
Parcelable iconResource = (Parcelable) bitmap;
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, iconResource);
intent.putExtra("duplicate", duplicateNeed); // (duplicateNeed=false)
// will not allow the
// duplicate same name
// shortcuts.
intent.setAction(INSTALL_SHORTCUT_ACTION);
getApplicationContext().sendBroadcast(intent);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню