android 返回桌面的广播,使用广播实现桌面快捷方式的创建

【项目说明】

①发送广播:开发者

②接收者:Android操作系统定义的接收者,开发者无需关系。

③由此,我们无需创建receiver,只需发送广播

【项目步骤】

①再布局中添加一个按钮

②通过按钮的点击事件,对广播的intent的进行设置(具体代码和理解如下)

③发送广播,点击按钮查看效果

【项目结构】

67ea9e3aa4e7094664f94d08572c55a9.png

【MainActivity】

1 import android.Manifest;

2 import android.content.Intent;

3 import android.content.pm.PackageManager;

4 import android.os.Parcelable;

5 import android.support.v4.app.ActivityCompat;

6 import android.support.v7.app.AppCompatActivity;

7 import android.os.Bundle;

8 import android.util.Log;

9 import android.view.View;

10 import android.widget.Button;

11

12 public class MainActivity extends AppCompatActivity {

13

14 private Button btn;

15 @Override

16 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 @Override

23 public void onClick(View view) {

24 //创建快捷方式

25 Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

26 //action指定后,就决定了那个Receiver来执行这个消息

27 intent.putExtra("duplicate",true);

28 //可以存在多个快捷方式

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之后需要进行动态权限的注册,但不是所有权限都需要动态申请,这个就不用

05d82e42f43eb22cc939b2f006c590d7.png

【效果】点击按钮,查看桌面(上设置可以有多个快捷方式)

3941aaeb71f423054e63af86bfac75d9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值