使用广播实现桌面快捷方式的创建

移动开发 作者: 2024-08-24 15:55:02
【项目说明】 ①发送广播:开发者 ②接收者:Android操作系统定义的接收者,开发者无需关系。 ③由此,我们无需创建receiver,只需发送广播 【项目步骤】 ①再布局中添加一个按钮 ②通过按钮的
 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     @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              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 }
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_67899.html