zoukankan      html  css  js  c++  java
  • Android功能代码

    安卓打开应用程序

    打开设置主界面

    Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS); //系统设置
    startActivityForResult( intent , 0);

    打开网络设置界面(其他设置中的界面同理)

    Intent intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);//WIFI设置
    startActivity(intent);
    Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_SETTINGS);//管理应用程序界面
    context.startActivity(intent);
    
    或者用以下方法(3.0以前的版本可以用此方法)
    Intent intent = new Intent("/");
    ComponentName cm = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
    intent.setComponent(cm);
    intent.setAction("android.intent.action.VIEW");
    startActivityForResult( intent , 0);

    打开壁纸设置

    Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
    startActivity(intent);

    打开拨号界面

    Intent intent = new Intent(Intent.ACTION_DIAL);
    startActivity(intent);

    打开联系人界面

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setType("vnd.android.cursor.dir/contact");
    startActivity(intent);

    打开通话记录

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setType("vnd.android.cursor.dir/calls");
    startActivity(intent);

    打开短信列表界面

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setType("vnd.android-dir/mms-sms");
    startActivity(intent);

    安卓音效代码

    SoundPool soundPool;
    int click;
    soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
    click = soundPool.load(GridViewTest.this, R.raw.click6, 1);
    soundPool.play(click, 1, 1, 0, 0, 1);

    创建对话框

    final Builder builder = new AlertDialog.Builder(this);
    // 为按钮绑定事件监听器
    
    // 设置对话框的图标
    builder.setIcon(R.drawable.icon);
    // 设置对话框的标题
    builder.setTitle("请您验证管理员信息");
    // 装载/res/layout/login.xml界面布局
    
    final TableLayout loginForm = (TableLayout) getLayoutInflater()
                                  .inflate(R.layout.activity_super, null);
    
    // 设置对话框显示的View对象
    builder.setView(loginForm);
    // 为对话框设置一个“确定”按钮
    builder.setPositiveButton("验证"
                              // 为按钮设置监听器
                              , new OnClickListener()
    {
    
        @Override
        public void onClick(DialogInterface dialog, int which)
        {
    
    
            // 为对话框设置一个“取消”按钮
            builder.setNegativeButton("取消", new OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialog, int which)
                {
    
                }
            });
            // 创建、并显示对话框
            builder.create().show();
        }
    

    打开网页

    Uri uri = Uri.parse("http://www.baidu.com");
    Intent it = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(it);

    单选对话框

    oncreate()方法中:showDialog(SINGLE_DIALOG);
    
    @Override
    public Dialog onCreateDialog(int id, Bundle state)
    {
        // 判断需要生成哪种类型的对话框
        switch (id)
        {
        case SINGLE_DIALOG:
            Builder b = new AlertDialog.Builder(this);
            // 设置对话框的图标
            b.setIcon(R.drawable.icon);
            // 设置对话框的标题
            b.setTitle("请选择您要执行的操作");
    
            // 为对话框设置多个列表
            b.setItems(new String[] { "开始",,
    
                                    }
                       // 为列表项的单击事件设置监听器
                       , new OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialog, int which)
                {
    
                    // which代表哪个列表项被单击了
                    switch (which)
                    {
                    case 0:
    
                        MyActivityManager.exit();
    
                        break;
    
    
    
                    }
                }
            });
            // 添加一个“确定”按钮,用于关闭该对话框
    
            return b.create();
        }
        return null;
    }
    

    动画代码

    final Animation anim1 = AnimationUtils.loadAnimation(this,
                            R.anim.xuanzhuan);
    final Handler myHandler = new Handler()
    {
        @Override
        public void handleMessage(Message msg)
        {
            // 如果该消息是本程序所发送的
            if (msg.what == 0x1233)
            {
                // 动态地修改所显示的图片
    
                text.startAnimation(anim2);
                if (currentImageId >= imageIds.length)
                {
                    currentImageId = 0;
                }
            }
        }
    };
    // 定义一个计时器,让该计时器周期性地执行指定任务
    new Timer().schedule(new TimerTask()
    {
        @Override
        public void run()
        {
            // 新启动的线程无法访问该Activity里的组件
            // 所以需要通过Handler发送信息
            Message msg = new Message();
            msg.what = 0x1233;
            // 发送消息
            myHandler.sendMessage(msg);
        }
    }, 0, 2000);
    

    键盘消失

    InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
    

    截屏代码

    
    String time = null;
    public void shareScreenshot()
    {
        time = "rival_" + DateUtils.getTimeNow();
        shot();
        new Thread(new Runnable()
        {
            public void run()
            {
                Intent intent = new Intent("android.intent.action.SEND");
                intent.setType("image/*");
                intent.putExtra(Intent.EXTRA_SUBJECT, "分享");
                intent.putExtra(Intent.EXTRA_TEXT,
                                "我正在使用应用,赶快分享给大家吧!");
                intent.putExtra(Intent.EXTRA_STREAM,
                                Uri.fromFile(new File(Constant.path + time + ".png")));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                LoginActivity.this.startActivity(Intent.createChooser(intent,
                                                 "分享"));
            }
    
        }).start();
    }
    
    // 分享图标
    public void shareIcon()
    {
    
        time = "rival_" + DateUtils.getTimeNow();
        FileUtils.savePic(
            BitmapFactory.decodeResource(getResources(), R.drawable.icon),
            time);
        new Thread(new Runnable()
        {
            public void run()
            {
                Intent intent = new Intent("android.intent.action.SEND");
                intent.setType("image/*");
                intent.putExtra(Intent.EXTRA_SUBJECT, "分享");
                intent.putExtra(Intent.EXTRA_TEXT,
                                "我正在使用应用,赶快分享给大家吧!");
                intent.putExtra(Intent.EXTRA_STREAM,
                                Uri.fromFile(new File(Constant.path + time + ".png")));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                LoginActivity.this.startActivity(Intent.createChooser(intent,
                                                 "分享"));
            }
    
        }).start();
    }
    
    /**
     * 截屏方法
     *
     * @return
     */
    private Bitmap shot()
    {
        View view = getWindow().getDecorView();
        Display display = this.getWindowManager().getDefaultDisplay();
        view.layout(0, 0, display.getWidth(), display.getHeight());
        view.setDrawingCacheEnabled(true);// 允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap
    
        Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache());
        view.destroyDrawingCache();
        FileUtils.savePic(bmp, time);
        return bmp;
    }
    

    进度条

    ProgressDialog progressDialog;
    progressDialog = ProgressDialog.show(
                         UserDeleteActivity.this, "正在注销", "请您稍后...",
                         false, true);
    
    new Thread(new Runnable()
    {
    
        public void run()
        {
    
            try
            {
                Looper.prepare();
    
    
                Message msg = new Message();
                msg.arg1 = 0;
                myhandler.sendMessage(msg);
            }
            else
            {
                Message msg = new Message();
                msg.arg1 = 1;
                myhandler.sendMessage(msg);
    
            }
            connection.close();
        }
        catch (Exception e)
        {
            Message msg = new Message();
            msg.arg1 = 2;
            myhandler.sendMessage(msg);
    
        }
        finally
        {
            progressDialog.dismiss();
    
        }
    
    }
    
    }).start();
    Handler myhandler = new Handler()
    {
    
        @Override
        public void handleMessage(Message msg)
        {
            super.handleMessage(msg);
            if (msg.arg1 == 0)
            {
    
                progressDialog.dismiss();
    
    
            }
            else if (msg.arg1 == 1)
            {
    
                progressDialog.dismiss();
    
                Toast.LENGTH_SHORT).show();
    
            }
            else if (msg.arg1 == 2)
            {
    
                progressDialog.dismiss();
    
    
            }
    
        }
    
    };
    

    快捷方式

    Intent addIntent = new Intent(
        "com.android.launcher.action.INSTALL_SHORTCUT");
    String title = getResources().getString(R.string.app_name);
    // 加载快捷方式的图标
    Parcelable icon = Intent.ShortcutIconResource.fromContext(
                          LoginActivity.this, R.drawable.icon);
    // 创建点击快捷方式后操作Intent,该处当点击创建的快捷方式后,再次启动该程序
    Intent myIntent = new Intent(LoginActivity.this,
                                 com.nuc.smartcloud.extra.SplashscreenActivity.class);
    // 设置快捷方式的标题
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
    // 设置快捷方式的图标
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
    // 设置快捷方式对应的Intent
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);
    // 发送广播添加快捷方式
    sendBroadcast(addIntent);

    权限设置

        <!-- 添加操作闪光灯的权限 -->
        <uses-permission android:name="android.permission.FLASHLIGHT" />
        <!-- 添加操作振动器的权限 -->
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <uses-permission android:name="android.permission.RECEIVE_SMS" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <!-- <uses-permission android:name="android.permission.GET_TASKS" /> -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_CONTACTS" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.FLASHLIGHT" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <!-- Wifi related -->
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
    

    闪屏动画

    public class  SplashscreenActivity extends Activity
    {
    
        private boolean isInit = false;
        SharedPreferences preferences;
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.view_spalshscreen);
            isInit  = true;     // 初始化完毕
    
            new Monitor().start();      // 开启监听线程
    
        }
    
    
    
        private Handler mHandler = new Handler()
        {
    
            public void handleMessage(Message msg)
            {
                startActivity(new Intent(SplashscreenActivity.this, LoginActivity.class));
                finish();
            }
        };
    
        private class Monitor extends Thread
        {
    
            @Override
            public void run()
            {
                boolean isRun = true;
                while(isRun)
                {
                    try
                    {
                        Thread.sleep(3000);
                    }
                    catch (InterruptedException e)
                    {
                        e.printStackTrace();
                    }
                    if (isInit)         // 如果初始化完毕,开始进入应用
                    {
                        isRun = false;
                        mHandler.sendMessage(new Message());
                    }
                }
            }
        }
    }
    

    设置界面无标题

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                         WindowManager.LayoutParams.FLAG_FULLSCREEN);

    手机联网状态

    public static int getAPNType(Context context)
    {
        int netType = -1;
        ConnectivityManager connMgr = (ConnectivityManager) context
                                      .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if (networkInfo == null)
        {
            return netType;
        }
        int nType = networkInfo.getType();
        if (nType == ConnectivityManager.TYPE_MOBILE)
        {
            Log.e("networkInfo.getExtraInfo()",
                  "networkInfo.getExtraInfo() is "
                  + networkInfo.getExtraInfo());
            if (networkInfo.getExtraInfo().toLowerCase().equals("cmnet"))
            {
                netType = 0;
            }
            else
            {
                netType = 1;
            }
        }
        else if (nType == ConnectivityManager.TYPE_WIFI)
        {
            netType = 2;
        }
        return netType;
    }

    添加菜单

      final int FONT_8 = 0x110;
    final int FONT_10 = 0x111;
    final int FONT_12 = 0x112;
    final int FONT_14 = 0x113;
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // -------------向menu中添加字体大小的子菜单-------------
    
        menu.add(0, FONT_12, 0, "操作一");
        menu.add(0, FONT_14, 0, "操作二");
        menu.add(0, FONT_16, 0, "操作三");
        menu.add(0, FONT_18, 0, "操作四");
        return super.onCreateOptionsMenu(menu);
    }
    
    @Override
    // 菜单项被单击后的回调方法
    public boolean onOptionsItemSelected(MenuItem mi)
    {
        // 判断单击的是哪个菜单项,并针对性的作出响应。
        switch (mi.getItemId())
        {
    
        case FONT_12:
    
            break;
        case FONT_14:
    
            break;
        case FONT_16:
    
            break;
        case FONT_18:
    
            break;
    
        }
        return true;
    } 

    退出代码

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        // 按下键盘上返回按钮
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
    
            new AlertDialog.Builder(this)
            // .setTitle("Message Box")
            .setMessage("您确定要退出应用吗?")
            .setNegativeButton("取消",
                               new DialogInterface.OnClickListener()
            {
                public void onClick(DialogInterface dialog,
                                    int which)
                {
    
                }
            })
            .setPositiveButton("确定",
                               new DialogInterface.OnClickListener()
            {
                public void onClick(DialogInterface dialog,
                                    int whichButton)
                {
    
                    MyActivityManager.exit();
    
                }
            }).show();
            return true;
        }
        else
        {
            return super.onKeyDown(keyCode, event);
        }
    }

    颜色代码

    1 白色 #FFFFFF      2 红色 #FF0000     3 绿色 #00FF00    4 蓝色 #0000FF
    
    5 牡丹红 #FF00FF     6 青色 #00FFFF     7 黄色 #FFFF00    8 黑色 #000000
    
    9 海蓝 #70DB93      10 巧克力色 #5C3317       11 蓝紫色 #9F5F9F
    
    12 黄铜色 #B5A642     13 亮金色 #D9D919     14 棕色 #A67D3D
    
    15 青铜色 #8C7853      16 2号青铜色 #A67D3D     17 士官服蓝色 #5F9F9F
    
    18 冷铜色 #D98719       19 铜色 #B87333          20 珊瑚红 #FF7F00
    
    21 紫蓝色 #42426F         22 深棕 #5C4033         23 深绿 #2F4F2F
    
    24 深铜绿色 #4A766E         25 深橄榄绿 #4F4F2F      26 深兰花色 #9932CD
    
    27 深紫色 #871F78          28 深石板蓝 #6B238E         29 深铅灰色 #2F4F4F
    
    30 深棕褐色 #97694F        32 深绿松石色 #7093DB       33 暗木色 #855E42
    
    34 淡灰色 #545454         35 土灰玫瑰红色#856363       36 长石色 #D19275
    
    37 火砖色 #8E2323         38 森林绿 #238E23         39 金色 #CD7F32
    
    40 鲜黄色 #DBDB70          41 灰色 #C0C0C0          42 铜绿色 #527F76
    
    43 青黄色 #93DB70         44 猎人绿 #215E21          45 印度红 #4E2F2F
    
    46 土黄色 #9F9F5F         47 浅蓝色 #C0D9D9         48 浅灰色 #A8A8A8
    
    49 浅钢蓝色 #8F8FBD        59 浅木色 #E9C2A6     60 石灰绿色 #32CD32
    
    61 桔黄色 #E47833      62 褐红色 #8E236B

    音乐控制

    AssetManager am = getAssets();
    AssetFileDescriptor afd = null;
    try
    {
        afd = am.openFd("music2.mp3");
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    mplayer = new MediaPlayer();
    try
    {
        mplayer.setDataSource(afd.getFileDescriptor(),
                              afd.getStartOffset(), afd.getLength());
    }
    catch (IllegalArgumentException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (IllegalStateException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try
    {
        mplayer.prepare();
    }
    catch (IllegalStateException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (IOException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    ;
    mplayer.start();
    mplayer.setLooping(true);
    isPlaying = true;
    @Override
    protected void onPause()
    {
    
        if (isPlaying)
        {
            mplayer.stop();
    
        }
    
        super.onPause();
    }
    
    @Override
    protected void onResume()
    {
    
        mplayer.start();
        super.onResume();
    }

    注册Activity

    < activity
    android: name = "com.nuc.smartcloud.main.ManagertoClearActivity"
                    android: screenOrientation = "portrait" >
                            < / activity >

    Android monkey用法

    adb shell monkey --pct-touch 20 --pct-motion 20 --pct-majornav 10 --pct-appswitch 40 --pct-anyevent 10 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -p your.packagename --throttle 1000 -v 8700
  • 相关阅读:
    关于DataGridView的数据源绑定字符串两个值得注意的问题
    .Net 第三方控件(转)
    sql语句linq语言lambda表达式对照
    InvokeRequired 属性 与Invoke方法
    .net垃圾回收机制
    const与readonly的区别
    Developer Express控件组合中的GridControl控件,如何自动显示每一行的序号
    XtraGrid控件6——2种GridColumn的属性
    如何让应用程序仅运行一个实例(c#)
    DevExpress控件之GridControl控件
  • 原文地址:https://www.cnblogs.com/ainima/p/6331874.html
Copyright © 2011-2022 走看看