【loading】Android常用代码集合

来源:互联网 发布:手机音乐编辑软件 编辑:程序博客网 时间:2024/05/22 15:18

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

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>
                <actionandroid: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);
}


原创粉丝点击