【loading】Android常用代码集合

这篇文章主要记录一些常用的一些代码段,方便以后查阅,不断更新中。

1:调用浏览器,载入某网址

?
1
2
3
Uri uri = Uri.parse( "http://www.android-study.com" );       
Intent it =  new  Intent(Intent.ACTION_VIEW, uri);       
startActivity(it);

2:Broadcast接收系统广播的intent监控应用程序包的安装、删除

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  class  getBroadcast  extends  BroadcastReceiver {
     @Override
     public  void  onReceive(Context context, Intent intent) {
         if  (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
             Toast.makeText(context,  "有应用被添加" , Toast.LENGTH_LONG).show();
         else  if  (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
             Toast.makeText(context,  "有应用被删除" , Toast.LENGTH_LONG).show();
         }
 
         else  if  (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) {
             Toast.makeText(context,  "有应用被替换" , Toast.LENGTH_LONG).show();
         }
 
         else  if  (Intent.ACTION_CAMERA_BUTTON.equals(intent.getAction())) {
             Toast.makeText(context,  "按键" , Toast.LENGTH_LONG).show();
         }
     }
}

需要声明的权限如下AndroidManifest.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<? xml  version = "1.0"  encoding = "utf-8" ?>
< manifest  xmlns:android = "http://schemas.android.com/apk/res/android"
     package = "zy.Broadcast"  android:versionCode = "1"  android:versionName = "1.0" >
     < application  android:icon = "@drawable/icon" android:label = "@string/app_name" >
         < activity  android:name = ".Broadcast"  android:label = "@string/app_name" >
             < intent-filter >
                 < action  android:name = "android.intent.action.MAIN"  />
                 < category  android:name = "android.intent.category.LAUNCHER"  />
             </ intent-filter >
         </ activity >
         < receiver  android:name = "getBroadcast"  android:enabled = "true" >
             < intent-filter >
                 < action  android:name = "android.intent.action.PACKAGE_ADDED" ></ action >
                 <!-- <action android:name="android.intent.action.PACKAGE_CHANGED"></action> -->
                 < action  android:name = "android.intent.action.PACKAGE_REMOVED" ></ action >
                 < action android:name = "android.intent.action.PACKAGE_REPLACED" ></ action >
                 <!-- <action android:name="android.intent.action.PACKAGE_RESTARTED"></action> -->
                 <!-- <action android:name="android.intent.action.PACKAGE_INSTALL"></action> -->
                 < action  android:name = "android.intent.action.CAMERA_BUTTON" ></ action >
                 < data  android:scheme = "package" ></ data >
             </ intent-filter >
         </ receiver >
     </ application >
     < uses-sdk  android:minSdkVersion = "3"  />
</ manifest >

3:使用Toast输出一个字符串

?
1
2
3
public  void  DisplayToast(String str) {
     Toast.makeText( this ,str,Toast.LENGTH_SHORT).show();
}

4:把一个字符串写进文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public  void  writefile(String str, String path) {
     File file;
     FileOutputStream out;
     
     try  {
         // 创建文件
         file =  new  File(path);
         file.createNewFile();
         
         //打开文件file的OutputStream
         out =  new  FileOutputStream(file);
         String infoToWrite = str;
         //将字符串转换成byte数组写入文件
         out.write(infoToWrite.getBytes());
         //关闭文件file的OutputStream
         out.close();
     }
     catch  (IOException e) {
         // 将出错信息打印到Logcat
         DisplayToast(e.toString());
     }
}

5:把文件内容读出到一个字符串

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public  String getinfo(String path) {
     File file;
     String str= "" ;
     FileInputStream in;
     try  {
         //打开文件file的InputStream
         file =  new  File(path);
         in =  new  FileInputStream(file);
         //将文件内容全部读入到byte数组
         int  length = ( int )file.length();
         byte [] temp =  new  byte [length];
         in.read(temp,  0 , length);
         //将byte数组用UTF-8编码并存入display字符串中
         str =  EncodingUtils.getString(temp,TEXT_ENCODING);
         //关闭文件file的InputStream
         
         in.close();
     }
     catch  (IOException e) {
         DisplayToast(e.toString());
     }
     return  str;
}

6:调用Android installer安装和卸载程序

?
1
2
3
4
5
6
7
Intent intent =  new  Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile( new  File( "/sdcard/WorldCupTimer.apk" )), "application/vnd.android.package-archive" );
startActivity(intent);  //安装 程序
 
Uri packageURI = Uri.parse( "package:zy.dnh" );    
Intent uninstallIntent =  new  Intent(Intent.ACTION_DELETE, packageURI);    
startActivity(uninstallIntent); //正常卸载程序

7:结束某个进程

?
1
activityManager.restartPackage(packageName);

8:设置默认来电铃声

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  void  setMyRingtone() {
     File k =  new  File( "/sdcard/Shall We Talk.mp3" );  // 设置歌曲路径
     ContentValues values =  new  ContentValues();
     values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
     values.put(MediaStore.MediaColumns.TITLE,  "Shall We Talk" );
     values.put(MediaStore.MediaColumns.SIZE,  8474325 );
     values.put(MediaStore.MediaColumns.MIME_TYPE,  "audio/mp3" );
     values.put(MediaStore.Audio.Media.ARTIST,  "Madonna" );
     values.put(MediaStore.Audio.Media.DURATION,  230 );
     values.put(MediaStore.Audio.Media.IS_RINGTONE,  true );
     values.put(MediaStore.Audio.Media.IS_NOTIFICATION,  false );
     values.put(MediaStore.Audio.Media.IS_ALARM,  false );
     values.put(MediaStore.Audio.Media.IS_MUSIC,  false );
     // Insert it into the database
     Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
     Uri newUri =  this .getContentResolver().insert(uri, values);
     RingtoneManager.setActualDefaultRingtoneUri( this , RingtoneManager.TYPE_RINGTONE, newUri);
}

需要的权限

?
1
< uses-permission  android:name = "android.permission.WRITE_SETTINGS" ></ uses-permission >

模拟HOME按键

?
1
2
3
4
Intent i= new  Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

9:打开某一个联系人

?
1
2
3
4
5
6
Intent intent= new  Intent();
String data =  "content://contacts/people/1" ;
Uri  uri = Uri.parse(data);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);

10:发送文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void  sendFile(String path) {
     File mZipFile= new  File(path);
     Intent intent =  new  Intent(Intent.ACTION_SEND);
     //  intent.setClassName("com.android.bluetooth", "com.broadcom.bt.app.opp.OppLauncherActivity");
     // intent.setClassName("com.android.bluetooth", "com.android.bluetooth.opp.BluetoothOppLauncherActivity");
     intent.putExtra( "subject" , mZipFile
             .getName());  //
     
     intent.putExtra( "body" "content by chopsticks" );  // 正文
     intent.putExtra(Intent.EXTRA_STREAM,
             Uri.fromFile(mZipFile));  // 添加附件,附件为file对象
     if  (mZipFile.getName().endsWith( ".gz" )) {
         intent
                 .setType( "application/x-gzip" );  // 如果是gz使用gzip的mime
     else  if  (mZipFile.getName().endsWith(
             ".txt" )) {
         intent.setType( "text/plain" );  // 纯文本则用text/plain的mime
     else  if  (mZipFile.getName().endsWith(
             ".zip" )) {
         intent.setType( "application/zip" );  // 纯文本则用text/plain的mime
     else  {
         intent
                 .setType( "application/octet-stream" );  // 其他的均使用流当做二进制数据来发送
     }
    // startActivity(intent);
     startActivity(
             Intent.createChooser(intent,
                     "选择蓝牙客户端" ));
}

//安装apk文件 

private void installAPK(File file) {
  Intent intent = newIntent(Intent.ACTION_VIEW);
  Uri data =Uri.fromFile(file);
  String type ="application/vnd.android.package-archive";
  intent.setDataAndType(data,type);
  startActivity(intent);
 }

 

//卸载apk文件

 private void uninstallAPK(String packageName){
  Intent intent = newIntent(Intent.ACTION_VIEW);
  Uri data = Uri.parse("package:"+ packageName);
  intent.setData(data);
  startActivity(intent);
 }


 //编辑图片大小,保持图片不变形。
 public static Bitmap resetImage(BitmapsourceBitmap,int resetWidth,int resetHeight){
  int width =sourceBitmap.getWidth();
  int height =sourceBitmap.getHeight();
  int tmpWidth;
  int tmpHeight;
  float scaleWidth =(float)resetWidth / (float)width;
  float scaleHeight =(float)resetHeight / (float)height;
  float maxTmpScale = scaleWidth>= scaleHeight ? scaleWidth : scaleHeight;
  //保持不变形
  tmpWidth = (int)(maxTmpScale *width);
  tmpHeight = (int)(maxTmpScale *height);
  Matrix m = new Matrix();
  m.setScale(maxTmpScale,maxTmpScale, tmpWidth, tmpHeight);
  sourceBitmap =Bitmap.createBitmap(sourceBitmap, 0, 0, sourceBitmap.getWidth(),sourceBitmap.getHeight(), m, false);
  //切图
  int x = (tmpWidth -resetWidth)/2;
  int y = (tmpHeight -resetHeight)/2;
  returnBitmap.createBitmap(sourceBitmap, x, y, resetWidth,resetHeight);
 }

 

//从SIM卡中获取联系人

private Cursor getContacts() {
        Uri uri = Uri.parse("content://sim/adn");
        String[] projection = new String[] { "name", "phone" };
        String selection = null;
        String[] selectionArgs = null;
        String sortOrder = null;
        return managedQuery(uri, projection, selection, selectionArgs,sortOrder);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值