当前位置: 代码迷 >> Android >> android一些系统相关的货色
  详细解决方案

android一些系统相关的货色

热度:7   发布时间:2016-04-28 04:50:23.0
android一些系统相关的东西

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

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<ResolveInfo> availableSoft = (List<ResolveInfo>) 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<ResolveInfo> availableSoft = (List<ResolveInfo>) 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);			}		}	}


  相关解决方案