Я пытаюсь сделать что-то, что кратко описано по следующей ссылке:
ссылка
Это означает, что у меня есть действие, которое может быть даже в другом приложении (но сейчас давайте сосредоточимся на действии, которое есть в моем приложении), и я хочу иметь возможность создать для него ярлык.
для терминологии скажем, что действие, которое создает ярлык, называется «ShortcutCreatorActivity», а действие, которое запускается, - «MyActivity».
что я получил из написанного, так это то, что ShortcutCreatorActivity должно быть определено в манифесте как:
<activity android:icon="@drawable/ic_launcher"
android:label="ShortcutActivity" android:name="com.my_app.ShortcutCreatorActivity">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
и что я получил в его Java-коде:
public class ShortcutCreatorActivity extends Activity
{
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
final Intent shortcutIntent=new Intent("com.my_app.MyActivity");
final ShortcutIconResource iconResource=Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher);
final Intent intent=new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"Shortcut Test");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconResource);
setResult(RESULT_OK,intent);
Toast.makeText(this,"shortcut created",Toast.LENGTH_SHORT).show();
finish();
}
}
пока я продолжаю получать одно и то же сообщение «приложение не найдено» при нажатии на ярлык и журнал:
ActivityManager(232): Starting: Intent { act=com.my_app.MyActivity flg=0x10200000 bnds=[80,150][160,250] } from pid 3956
Может кто-нибудь, пожалуйста, помогите мне? чего не хватает?
Я также попробовал некоторые намеренные фильтры для активности MyActivity внутри манифеста. ничего не помогло ...
@ лиро
я не думаю, что это имеет значение, так как я указал полный путь к классу, включая имя пакета.
всем, пожалуйста, если у вас есть рабочий проект, это было бы идеально.