У меня есть приложение, которое может выполнять различные функции.Я хочу создать ярлык для наиболее часто используемой функции на домашнем экране моего телефона Android.
Может кто-нибудь сказать мне (с кодом и как код на самом деле работает), как можно создать ярлык?Я видел много строк кода, но я не могу понять.Пожалуйста, объясните мне.
Я использовал следующий код => Основная проблема заключается в том, что ярлык создается на главном экране.Но когда я нажимаю на него, появляется сообщение Toast, например «Приложение не установлено на вашем телефоне ». И в журнале появляется сообщение об ошибке
1) WARN / ActivityManager (58): Отказано в доступе: checkComponentPermission () reqUid = 10046 2) WARN / ActivityManager (58): Отказ в разрешении: начальное намерение {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa / .s bnds = [3240][77,319]} из ProcessRecord {44f19b88 123: com.android.launcher / 10025} (pid = 123, uid = 10025) требуется нулевое значение 3) ОШИБКА / Панель запуска (123): Программа запуска не имеет разрешения на запуск Intent {act =android.intent.action.VIEW flg = 0x10000000 cmp = aaa / .s bnds = [3240] [77,319]}.Убедитесь, что вы создали ГЛАВНЫЙ интент-фильтр для соответствующего действия или использовали экспортированный атрибут для этого действия.tag = ShortcutInfo (title = Sukumar) intent = Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa / .s bnds = [3240] [77,319]} 4) ОШИБКА / Средство запуска (123): Java.lang.SecurityException: Отказ в разрешении: запуск Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = aaa / .s bnds = [3240] [77,319]} из ProcessRecord {44f19b88 123: com.android.launcher / 10025} (pid = 123, uid = 10025) требуется ноль
`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);
}
}`