①发送广播:开发者
②接收者:AndroID *** 作系统定义的接收者,开发者无需关系。
③由此,我们无需创建receiver,只需发送广播
【项目步骤】①再布局中添加一个按钮
②通过按钮的点击事件,对广播的intent的进行设置(具体代码和理解如下)
③发送广播,点击按钮查看效果
【项目结构】【MainActivity】
1 import androID.Manifest; 2 androID.content.Intent; 3 androID.content.pm.PackageManager; 4 androID.os.Parcelable; 5 androID.support.v4.app.ActivityCompat; 6 androID.support.v7.app.AppCompatActivity; 7 androID.os.Bundle; 8 androID.util.Log; 9 androID.vIEw.VIEw;10 androID.Widget.button;11 12 public class MainActivity extends AppCompatActivity {13 14 private button btn;15 @OverrIDe16 protected voID onCreate(Bundle savedInstanceState) {17 super.onCreate(savedInstanceState);18 setContentVIEw(R.layout.activity_main);19 20 btn = findVIEwByID(R.ID.btn);21 btn.setonClickListener(new VIEw.OnClickListener() {22 @OverrIDe23 onClick(VIEw vIEw) {24 //创建快捷方式25 Intent intent = new Intent("com.androID.launcher.action.INSTALL_SHORTCUT");26 action指定后,就决定了那个Receiver来执行这个消息27 intent.putExtra("duplicate",true28 可以存在多个快捷方式29 intent.putExtra(Intent.EXTRA_SHORTCUT_name,"myapp"30 指定应用的名称31 Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(),R.mipmap.ic_launcher);32 查找图标存到Parcelable类型33 intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon);34 指定快捷方式的图标35 Parcelable actionIntent = new Intent("com.xqz.shortcut"36 intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,actionIntent);37 sendbroadcast(intent);38 Log.i("Tag","onClick: ----create"39 }40 });41 }42 }
【AndroIDManifest】
【提示】创建快捷方式要进行权限申请。虽然6.0之后需要进行动态权限的注册,但不是所有权限都需要动态申请,这个就不用
【效果】点击按钮,查看桌面(上设置可以有多个快捷方式)
总结
以上是内存溢出为你收集整理的使用广播实现桌面快捷方式的创建全部内容,希望文章能够帮你解决使用广播实现桌面快捷方式的创建所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)