博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android一些系统相关的东西
阅读量:5306 次
发布时间:2019-06-14

本文共 4437 字,大约阅读时间需要 14 分钟。

添加快捷方式和删除快捷方式:

private void addShortcut() {        Intent shortcut = new Intent(                "com.android.launcher.action.INSTALL_SHORTCUT");        // 快捷方式的名称        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,                getString(R.string.app_name));        shortcut.putExtra("duplicate", false); // 不同意反复创建        // 指定当前的Activity为快捷方式启动的对象        ComponentName comp = new ComponentName(this.getPackageName(),                getClass().getName());        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(                Intent.ACTION_MAIN).setComponent(comp));        // 快捷方式的图标        ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(                this, R.drawable.icon);        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);        sendBroadcast(shortcut);    }        /**      * 删除程序的快捷方式。

*/ private void deleteShortcuts() { Intent shortcut = new Intent( "com.android.launcher.action.UNINSTALL_SHORTCUT"); // 快捷方式的名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); // 指定当前的Activity为快捷方式启动的对象 ComponentName comp = new ComponentName(this.getPackageName(), getClass().getName()); shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent( Intent.ACTION_MAIN).setComponent(comp)); sendBroadcast(shortcut); }

发邮件:

public boolean sendEmail(String to[], String subject, String body,			String attachementFilePath) {		final Intent emailIntent = new Intent(				android.content.Intent.ACTION_SEND);		emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, to);		emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);		emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);		if (attachementFilePath != null) {			Uri attachmentUri = null;			try {				File file = new File(attachementFilePath);				if (file == null) {					Log.d("[RC] Mail", "File error: " + attachementFilePath);				} else if (!file.exists()) {					Log.d("[RC] Mail", "File does not exist: "							+ attachementFilePath);				} else if (!file.canRead()) {					Log.d("[RC] Mail", "File can't be read: "							+ attachementFilePath);				} else if (!file.isFile()) {					Log.d("[RC] Mail", "Invalid file: " + attachementFilePath);				} else {					attachmentUri = Uri.fromFile(file);					Log.d("[RC] Mail", "Attachement path[size=" + file.length()							+ "]: " + attachementFilePath);					Log.d("[RC] Mail",							"Attachement URI: " + attachmentUri.toString());				}			} catch (java.lang.Throwable ex) {				Log.e("[RC] Mail", "Error: " + ex.toString());			}			if (attachmentUri != null) {				emailIntent.putExtra(Intent.EXTRA_STREAM, attachmentUri);			}		}		emailIntent.setType(PLAIN_TEXT);		List
availableSoft = (List
) mContext .getPackageManager().queryIntentActivities(emailIntent, PackageManager.MATCH_DEFAULT_ONLY); if (availableSoft.size() <= 0) { return false; } mContext.startActivity(Intent.createChooser(emailIntent, mContext .getResources().getString(R.string.menu_sendEmail))); return true; }
默认使用Google chrome打开WebView:

//new Intent(Intent.ACTION_VIEW, uri)	public void startActiviyByChromeIfExists(Context context,			Intent intent) {		try {			Log.d("startActiviyByChromeIfExists",					"Intent Scheme: " + intent.getScheme());		} catch (Exception e) {		}		if (context != null && intent != null) {			intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);			List
availableSoft = (List
) context .getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); for (ResolveInfo info : availableSoft) { if ("com.android.chrome".equals(info.activityInfo.packageName)) { intent.setComponent(new ComponentName( info.activityInfo.packageName, info.activityInfo.name)); context.startActivity(intent); return; } } if (availableSoft.size() == 0) { try { Toast.makeText(mContext, R.string.setting_no_browser_installed, Toast.LENGTH_LONG).show(); } catch (Exception e) { Log.e("startActiviyByChromeIfExists", e.getMessage()); } } else { context.startActivity(intent); } } }

声明权限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

关机广播:

接受开机广播:

转载于:https://www.cnblogs.com/zfyouxi/p/5362503.html

你可能感兴趣的文章
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>
机器学习/深度学习/其他开发环境搭建记录
查看>>
xml.exist() 实例演示
查看>>
判断是否为空然后赋值
查看>>
zabbix监控日志文件
查看>>
正则表达式
查看>>
pip install torch on windows, and the 'from torch._C import * ImportError: DLL load failed:' s...
查看>>
环套树
查看>>
java基础(一):我对java的三个环境变量的简单理解和配置
查看>>
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>