Android中应用的快捷方式的创建
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:38
(一)应用发送广播来进行创建快捷方法:该demo例子实现的功能是:在界面有一个按钮,点击按钮生成一个快捷方法,然后点击快捷方法进入拨打德律风的页面;
生成步调如下:
1:如下权限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2:在Activity中new一个Intent参加Action:
_Intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
3:其他核心代码如下:
Intent _ReturnIntent = new Intent();
// 设置创建快捷方法的过滤器action
_ReturnIntent
.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
// 设置生成的快捷方法的名字
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
"Broad ShortCut");
// 设置生成的快捷方法的搁笔
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(
LauncherActivity.this, R.drawable.ic_launcher));
Intent _Intent = new Intent(Intent.ACTION_CALL);
_Intent.setData(Uri.parse("tel://5556"));
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, _Intent);
// 发送广播生成快捷方法
sendBroadcast(_ReturnIntent);
LauncherActivity.this.finish();
}
当然膳绫擎要参加拨打德律风的权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
如不雅我们想要卸载快捷方法,须要在构造文件中参加权限
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
然后intent中传入 com.android.launcher.permission.UNINSTALL_SHORTCUT
(二):应用一个Activity,然后在Home界面点击Menu->添加->选择快捷方法->选择创建的应用法度榜样的快捷方法,看如下的效不雅:
创建步调如下:
①:在Androidmanifset.xml文件中注册Activity
②:在IntentFiler标签下面参加<action/>
看下Activity中的核心代码:
public class ShortCutSample extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
if (getIntent().getAction().equals(
"android.intent.action.CREATE_SHORTCUT")) {
Intent _ReturnIntent = new Intent();
//设置快捷方法的名字
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
"jiangqq ShortCut");
//设置快捷方法的搁笔
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this,
R.drawable.ic_launcher));
Intent _Intent=new Intent(Intent.ACTION_CALL);
_Intent.setData(Uri.parse("tel://10086"));
//当据方法创建完成之后,点击搁笔跳转到拨打拨打德律风的页面
_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
this, LauncherActivity.class));
//设置返回值,一般是OK,
setResult(RESULT_OK, _ReturnIntent);
finish();
}
}