怎么实现在手机界面添加appappimage 快捷方式式

苹果园为iOS用户提供和下载,最新的、、、等,分享最权威的资讯、、及解决办法,拥有最火爆的,苹果园一家专注解决iOS所求的网站。Android添加快捷方式(Short)到手机桌面
  要在手机桌面上添加快捷方式,首先需要在manifest中添加权限。
&!-- 添加快捷方式 --&
&uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /&
&!-- 移除快捷方式 --&
&uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" /&
&!-- 查询快捷方式 --&
&uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /&
添加快捷方式
  添加快捷方式,是向桌面应用(launcher)发送相关action的广播,相关的action如下:
  public static final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
  添加快捷方式:
private void addShortcut(String name) {
Intent addShortcutIntent = new Intent(ACTION_ADD_SHORTCUT);
// 不允许重复创建
addShortcutIntent.putExtra("duplicate", false);// 经测试不是根据快捷方式的名字判断重复的
// 应该是根据快链的Intent来判断是否重复的,即Intent.EXTRA_SHORTCUT_INTENT字段的value
// 但是名称不同时,虽然有的手机系统会显示Toast提示重复,仍然会建立快链
// 屏幕上没有空间时会提示
// 注意:重复创建的行为MIUI和三星手机上不太一样,小米上似乎不能重复创建快捷方式
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(MainActivity.this,
R.drawable.ic_launcher));
// 设置关联程序
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.setClass(MainActivity.this, MainActivity.class);
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
addShortcutIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
// 发送广播
sendBroadcast(addShortcutIntent);
移除快捷方式
  移除快捷方式的action:
public static final String ACTION_REMOVE_SHORTCUT = "com.android.launcher.action.UNINSTALL_SHORTCUT";
  移除快捷方式的方法:
private void removeShortcut(String name) {
// remove shortcut的方法在小米系统上不管用,在三星上可以移除
Intent intent = new Intent(ACTION_REMOVE_SHORTCUT);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
// 设置关联程序
Intent launcherIntent = new Intent(MainActivity.this,
MainActivity.class).setAction(Intent.ACTION_MAIN);
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launcherIntent);
// 发送广播
sendBroadcast(intent);
  在两个手机上测试,发现小米手机上添加了快捷方式后不能移除,三星手机可以。
查询快捷方式
  查询快捷方式是否存在的方法是从网上其他资料那里查来的,但是测试查询的时候失败了,两个手机(小米、三星)都查不到。
  先留着代码以后看看是什么原因吧:
private boolean hasInstallShortcut(String name) {
boolean hasInstall = false;
final String AUTHORITY = "com.android.launcher2.settings";
Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
// 这里总是failed to find provider info
// com.android.launcher2.settings和com.android.launcher.settings都不行
Cursor cursor = this.getContentResolver().query(CONTENT_URI,
new String[] { "title", "iconResource" }, "title=?",
new String[] { name }, null);
if (cursor != null && cursor.getCount() & 0) {
hasInstall = true;
return hasI
阅读(...) 评论()iOS APP创建桌面快捷方式 - 简书
iOS APP创建桌面快捷方式
在iOS设备桌面创建app内某一个模块或页面的快捷方式,通过该快捷方式可以直接进入相应模块或页面。目前app内有该功能的有高德一键导航,360安全卫士的小火箭。技术原理: 在iOS开发中可以使用openUrl的方式打开一个网页,并通过Safari浏览器的发送到主屏幕从而创建一个网页的快捷方式,这篇文章就是利用这个方法来创建一个app的桌面快捷方式。首先在app内部开启一个轻量级的HttpServer,利用openurl:127.0.0.1 的方式打开本地页面,利用html的重定向将页面指向一个包含创建桌面快捷方式所有信息的,遵守data协议的url,这时利用Safari的发送到主屏幕,就可以达到我们的要求。技术难点:1. 创建一个本地的httpServer。2. 创建本地页面以及data协议url时的编码格式。3. 在Safari未启动时或者app进入后台时,本地httpserver服务启动延迟。
Safari有一个“添加至屏幕”的功能,其实就是在桌面上添加了一个网页书签,App可以使用这个功能来实现创建桌面快捷方式。 一、运用基本技术点 1、JavaScript 2、Data URI Schema 3、Socket基本知识 4、Base64编码 二、基本原理
技术原理: 在iOS开发中可以使用openUrl的方式打开一个网页,并通过Safari浏览器的发送到主屏幕从而创建一个网页的快捷方式,这篇文章就是利用这个方法来创建一个app的桌面快捷方式。首先在app内部开启一个轻量级的HttpServer,利用openurl:127.0...
http://www.open-open.com/code/view/5 iOS上创建桌面快捷方式应用场景:在iOS设备桌面创建app内某一个模块或页面的快捷方式,通过该快捷方式可以直接进入相应模块或页面。目前app内有该功能的有高德一键导 航,36...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
爱情是甜美的,人约黄昏后,月上柳梢头。描写的是朦胧环境下的人儿骚动的心情。 新婚是快乐的“新婚燕尔时,金榜题名时”结婚都名列人生四大乐事之中。 然而结婚却来了一个180度大转弯,不知哪位高人说过,“婚姻是爱情的坟墓”。看来结婚后的生活与爱情无关了。在新闻中其中八卦最为人津津...
大家都知道营销的核心是什么吗?我认为营销的核心就是,想销售产品,先销售自己。一切成交源自顾客对你这个人的信赖和认可! 要想达成绝对成交,源自深度信任!今天呢我将教大家怎样维护、经营,好友之间的关系,打造铁粉,让你的成交变得水到渠成。 我简单做一下自我介绍:我是阿森,是花红微...
高一七月军训,我对你一无所知,平安无事得度过了三个月。十月,我不知道为什么会开始喜欢你。我试着加你好友,你不知道我是谁的时候还可以和我聊天,你知道我是谁以后,电缆那一头就像刚刚地震过一样平静。那时候第一次发现心酸是什么感觉。 慢慢的,我对你的喜欢足以毁灭我的挫败感,再次尝试...
在iOS10更新后,系统设置跳转被禁用,只能跳转App设置,但是最近发现苹果又更新了URLscheme,亲测可用,建议iOS10以下,还用原来的scheme(原来的scheme为prefs) #define iOS10 ([[UIDevice currentDevice]....iOS添加快捷方式到桌面 - 简书
iOS添加快捷方式到桌面
iOS添加快捷方式到桌面#
涉及:OpenUrl、iOS shceme、Data URI Scheme、JS、Socket#
功能:将应用的某一个页面或某一个功能以快捷方式形式添加到桌面,用户点击桌面图标,可以唤起应用并打开对应页面或功能。
原创文章,欢迎转载分享 微博@刘东寰
用户在使用如微博、淘宝、贴吧、百度地图时,有些页面打开频率非常高,甚至某个应用只为了这几个单一的功能,这个时候,可以考虑将对应的功能页面以快捷方式添加到桌面上。
实现这个功能的基础
因为没有找到或没有这个功能的开放API,因此只能借助Safari,在Safari中,有一个功能叫:添加到主屏幕,而我们将使用这个入口去实现这个功能。
Safari中添加到主屏幕,就是把当前页面的url以图标的形式添加到桌面,点击该图标,还是打开Safari并打开对应的url,和我们想要的效果不一样,继续看下去。
iOS之OpenUrl
OpenUrl(开放链接)
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://xxx"]];
在iOS中,如果我们要在应用里唤起拨号应用,会使用这么一种方式,"tel://" 就是拨号应用在程序里注册的scheme,所有应用都可以在程序里注册scheme,这种scheme在整个手机里是通用的,第三方的分享也是依赖这种方式通过openURL:scheme的方式唤起自己的应用。
那么如何注册自己应用的scheme?网上关于这方面非常多,就贴个链接吧.
OpenUrl在这个功能的利用就是:
通过OpenUrl唤起Safari,让Safari访问一个指定页面。
Safari保存到桌面的图标,在点击时通过OpenUrl唤起我们的应用。(你可以在Safari地址栏输入)
Safari打开怎么样的页面?
通过OpenUrl,我们可以让应用打开Safari并访问一个页面。我们知道Safari添加到桌面是把当前的URL添加到桌面,那么,当我们点击图标的时候也是访问这个页面。而这个页面在第一次被打开的时候需要显示一些引导页之类的,而在桌面被打开的时候却需要调用一个scheme。这似乎不太可能,我们接着往下看。
对JS不是太熟悉,以下方法来自网络
if (window.navigator.standalone == true)
var lnk = document.getElementById("你的带scheme的&a&标签ID").click();
//通过你所知道的方式打开一个scheme,上面这句话的链接标签如:&a href="tel://xxx"&
document.getElementById("msg").innerHTML='&div style="font-size:12px"&
可以插入引导页&/div&';
//这里你可以去加载你的引导页
你可以试试通过Safari保存一个页面到桌面,再打开这个页面,你会发现,前者是非全屏状态,而通过快捷方式打开的Safari是全屏的。这正是一个突破口。
if (window.navigator.standalone == true)
判断当前页面是否全屏,如果非全屏,那么我们显示引导页,如果是全屏,我们就打开一个链接。到这里,上一个问题就被解决了。
已经可以实现这个功能了
现在你可以在服务器部署一个网页实现这个功能了。但是,还是有缺点的,每次点击快捷方式我们都需要访问这个页面,如果网络状态不好,那么是很大的延时,(比如xx贴吧目前的状况)。
进一步优化之利用Data URI Scheme
我们希望这个页面不依赖网络。在这个过程中试验了多种方案,这里只贴我认为最妥的一种。
做过前端的小伙伴可能说到这就明白了,Data URI Scheme(DATA-URI 是指可以在Web 页面中包含图片但无需任何额外的HTTP 请求的一类URI.)比如网页里需要放一张图片,这张图片会有一个地址,而图片的获取是需要访问网络的。但是通过DataURI,我们可以把图片进行base64编码直接存储在页面中。
![](http://xxxx/xx.png)
![](http://upload-images.jianshu.io/upload_images/e4b821f981fd216.png)
这里,我们就要通过这种方式,把我们的网页存储在地址栏,首先,我们将做好的页面(含引导页和跳转scheme)通过base64编码成DataURIScheme,接着,我们放入这样一个新页面的&meta&标签。这个新页面的作用就是作为一个中间物,所以其他可以不写。
&meta http-equiv="refresh" content="0;URL= ‘your datauri’&
这个新页面你需要部署到服务器,接着应用就打开这个页面,这个时候,页面会自动刷新一次,你会发现,你编码过的网页就出现在了地址栏,是不是很神奇。然后你把这个页面添加快捷方式到桌面。断开网络,再试试打开这个快捷方式吧。
该项目的Demo:
微博:@刘东寰
SINA WEIBO - iOS Developer
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
转载请注明出处 关于Hybrid研发模式,这里就不多说了,是目前移动端主流的研发模式。当我们的APP内部集成有很多Web实现的功能时,甚至某些Web实现的模块作为一部分独立的功能,打开的频率很高,这个时候,可以将对应的功能页面以快捷方式添加到桌面上。如果Web功能与APP相...
Safari有一个“添加至屏幕”的功能,其实就是在桌面上添加了一个网页书签,App可以使用这个功能来实现创建桌面快捷方式。 一、运用基本技术点 1、JavaScript 2、Data URI Schema 3、Socket基本知识 4、Base64编码 二、基本原理
APP的跳转: 通过[ [UIApplication sharedApplication] openURL:url]这种方法来实现的。 而APP之间传递数据的接收是在AppDelegate里: - (BOOL)application:(UIApplication *)app...
我是日记星球的252号星宝宝,这是我的第102篇日记。
我好不容易熬到开学了,本想可以放慢脚步喘口气儿。
可老天偏偏要继续磨练我,老大才上一天学就感冒发烧,学校的板凳还没坐热就又窝在床上了,我只好带着她奔波去医院,穿梭在人满为患的楼层里。
现在分享一个介绍java反射的比较好的帖子: http://blog.csdn.net/xu__cg/article/details/
在知道简书之前,这些文字都不过是尘封在手机记事本里。 有随记或是日记,还要文章。 或许是太过情绪化,我这人话多,而且道理都是到处引经据典,在别人听来就是天马行空,而且没多少人肯细谈…… 渐渐地,时间果然可以使一个人走向自己都不敢相信的方向去,居然连以前哪怕是一分钟都不肯安静...
作为一个4年级的产品经理,我觉得1-3年级的产品经理,重点在功能设计,4年级开始,要有优秀的战略规划能力,再往上,现在还不清楚... Level1功能设计的能力(只说用户需求,运营需求另论) Step 1 确认需求 1-1 找到一个需求(需求是期望和现实的落差) 甄别需求和...}

我要回帖

更多关于 app界面添加分享功能 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信