zoukankan      html  css  js  c++  java
  • 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

    26

    <?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:调用Androidinstaller安装和卸载程序


    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

    2

    <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, 

                        "选择蓝牙客户端"));

    }


  • 相关阅读:
    2019牛客暑期多校训练营(第六场)
    2019牛客暑期多校训练营(第五场)
    CCPC-Wannafly Summer Camp 2019 全记录
    2018CCPC吉林赛区 | 部分题解 (HDU6555 HDU6556 HDU6559 HDU6561)
    2006-2007 ACM-ICPC | POJ3380 POJ3384 POJ3385 水题题解
    数论专场 Day9 部分题解
    Catenyms (POJ2337) 字典序最小欧拉路
    2019暑训第一场训练赛 |(2016-icpc区域赛)部分题解
    哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)B 小乐乐搭积木 (状态压缩)
    牛客练习赛32B Xor Path (树形dp)
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3395182.html
Copyright © 2011-2022 走看看