Android向桌面添加快捷方式,使其指向特定的网页


出处:http://www.cnblogs.com/wanyao/archive/2011/11/27/2265333.html




/*


          * 在桌面添加快捷方式


          * @param      icon         快捷方式图标


          * @param      name      快捷方式名称


          * @param      uri           快捷方式的intent Uri


          */


         public void addShortcut(Parcelable icon, String name, Uri uri){


                   Intent intentAddShortcut = new Intent(ACTION_ADD_SHORTCUT);


                   //添加名称


                   intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);


                   //添加图标


                   intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);


                   //设置Launcher的Uri数据


                   Intent intentLauncher = new Intent();


                   intentLauncher.setData(uri);


                   //添加快捷方式的启动方法


                   intentAddShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intentLauncher);


                   sendBroadcast(intentAddShortcut);


         }


当然,你还需要添加一个permission


<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />


这里第一个参数Parcelable类型的icon如何获得呢,以下举个例子从Drawable文件夹中获取图片。


Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);




Android如何调用系统默认浏览器访问


一、启动android默认浏览器



Intent intent= new Intent();


  intent.setAction("android.intent.action.VIEW");


  Uri content_url = Uri.parse("http://www.cxybl.com");


  intent.setData(content_url);


  startActivity(intent);


这样子,android就可以调用起手机默认的浏览器访问。


二、指定相应的浏览器访问


1、指定android自带的浏览器访问


( “com.android.browser”:packagename   ;“com.android.browser.BrowserActivity”:启动主activity)


                Intent intent= new Intent();


                intent.setAction("android.intent.action.VIEW");


                Uri content_url = Uri.parse("http://www.cxybl.com");


                intent.setData(content_url);


                intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");


                startActivity(intent);


ANDROID代码实现APK文件的安装与卸载

http://www.cnblogs.com/Greenwood/archive/2011/03/09/1979268.html



Android程序使用代码的安装和卸载!!!


安装:


String str = "/CanavaCancel.apk";


String fileName = Environment.getExternalStorageDirectory() + str;


Intent intent = new Intent(Intent.ACTION_VIEW);


 intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");


startActivity(intent);


卸载:



Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");


Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);


startActivity(uninstallIntent);



Environment拥有一些可以获取环境变量的方法


package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).







//下载apk程序代码
protected File downLoadFile(String httpUrl) {
// TODO Auto-generated method stub
final String fileName = "updata.apk";
File tmpFile = new File("/sdcard/update");
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
final File file = new File("/sdcard/update/" + fileName);

try {
URL url = new URL(httpUrl);
try {
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
InputStream is = conn.getInputStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[256];
conn.connect();
double count = 0;
if (conn.getResponseCode() >= 400) {
Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
.show();
} else {
while (count <= 100) {
if (is != null) {
int numRead = is.read(buf);
if (numRead <= 0) {
break;
} else {
fos.write(buf, 0, numRead);
}

} else {
break;
}

}
}

conn.disconnect();
fos.close();
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block

e.printStackTrace();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block

e.printStackTrace();
}

return file;
}
//打开APK程序代码

private void openFile(File file) {
// TODO Auto-generated method stub
Log.e("OpenFile", file.getName());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
startActivity(intent);
}

Android 中各种 JAVA 包的功能描述(转)


















在 Android 的应用程序开发中,通常使用的是 JAVA 语言,除了需要熟悉 JAVA 语言的基础知识之外,还需要了解 Android 提供的扩展的 JAVA 功能。在一般的 JAVA 应用中,如果需用引用基础类库,通常需要使用如下的方式:import javax.swing.*;以上代码表示了引用 JAVA 的 GUI 组件 Swing,javax.swing 即 JAVA 中的一个包。android 提供一些扩展的 JAVA 类库,类库分为若干个包,每个包中包含若干个类。重要包的描述:
android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上 .
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的 java.net.* 接口
android.os :提供了系统服务、消息传输、 IPC 机制
android.opengl :提供 OpenGL 的工具
android.provider :提供类访问 Android 的内容提供者
android.telephony :提供与拨打电话相关的 API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种 UI 元素(大部分是可见的)在应用程序的屏幕中使用