Android项目-快捷方式
2015-11-19 20:30
393 查看
Android项目-快捷方式
如何在桌面上创建一个快捷方式呢?桌面也是一个App,要想在桌面上创建一个快捷方式得靠他
在Android的系统应用程序Launcher2中提供了一个广播接收者:InstallShortcutReceiver
我们可以通过给他发送一个安装快捷方式的广播,来安装我们的App的快捷方式
/*
*创建一个可以快速打电话的快捷方式
*/
public class CallShortCutActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent = new Intent(); intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); // //dowhtIntent 用于告诉InstallShortcutReceiver, 我们要创建的快捷方式的样子 Intent dowhtIntent = new Intent(); dowhtIntent.setAction(Intent.ACTION_CALL); //这个快捷方式用来打电话 dowhtIntent.setData(Uri.parse("tel://110")); //电话号码 intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "哈哈"); //快捷方式的名字 intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)); //快捷方式的图标 intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dowhtIntent);//装载数据 sendBroadcast(intent); } }
/*
*创建我们的App的快捷方式
*/
public class StartActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } private void createShortcut() { Intent intent = new Intent(); intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); //如果设置为true表示可以创建重复的快捷方式 intent.putExtra("duplicate", false); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "我的App"); /** *说明,我们这个快捷方式要启动应用 * 这个地方不能使用显示意图 * 必须使用隐式意图来启动我们的应用 */ Intent shortcut_intent = new Intent(); shortcut_intent.setAction("start_my_app"); //我们应用的首页的<intent-filter/>, 具体配置在下面 shortcut_intent.addCategory("android.intent.category.DEFAULT"); //得加上 intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcut_intent); sendBroadcast(intent); } } <activity android:name="com.itheima.mobileguard.activities.HomeActivity" > <intent-filter> <!-- 这个名字可以随便取 --> <action android:name=start_my_app" ></action> <category android:name="android.intent.category.DEFAULT" ></category> </intent-filter> </activity>
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories