[置顶] android点滴3

这篇博客主要介绍了Android开发中的一些关键知识点,包括但不限于文件大小、图片附件的处理等。
摘要由CSDN通过智能技术生成
Android判断是Pad或者手机

public boolean isTabletDevice() {
        TelephonyManager telephony = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
        int type = telephony.getPhoneType();
        if (type == TelephonyManager.PHONE_TYPE_NONE) {
            return true;
        } else {
            return false;
        }
    }


到android设置中的卸载界面
Uri uri = Uri.fromParts("package", appInfo.packageName, null);     
Intent it=new Intent();
it.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
it.setData(uri);
startActivity(it);


清除手机Cookie:
    CookieManager.getInstance().removeAllCookie();

向Handler发送Message方法:
mHandler.obtainMessage().sendToTarget();//没试过
mHandler.sendMessage(new Message());

自定义权限:
    在应用One中定义并声明权限:
    定义:
    <permission
           android:name = "com.focus.fishme.permission.READ"
           android:label = "@string/permission_read"
           android:description = "@string/permission_read_detail"
           />
    声明:
     <activity
            android:name = ".ReadActivity"
            android:permission = "com.focus.fishme.permission.READ"
            />
    在应用Two中调用应用One中的ReadActivity。
    使用:
    <uses-permission android:name = "com.focus.fishme.permission.READ"/>

android:sharedUserId说明
    在Android中每个应用程序都会分配一个单独的用户空间,可以通过设置AndroidManifest.xml文件manifest标签的
    android:sharedUserId属性指定相同的值,使多个APK运行在同一个用户空间中,在不同APK中共享数据库或配置信息。

获取屏幕上正在显示的Activity:
    (1)ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    (2)ComponentName mComponentName = mActivityManager.getRunningTasks(1).get(0).topActivity;

判断Activity是否在系统中存在:
    Intent intent = new Intent();
    intent.setClassName("包名", "类名");
    if(intent.resolveActivity(getPackageManager()) == null) {

    }

Android中获取位图的三种方法:
(1)InputStream mInputStream = getResources().openRawResource(R.drawable.图片名);
BitmapDrawable mBitmapDrawable = new BitmapDrawable(mInputStream);
Bitmap mBitmap = mBitmapDrawable.getBitmap();
(2)BitmapDrawable mBitmapDrawable = (BitmapDrawable)getResources().getDrawable(R.drawable.图片名);
Bitmap mBitmap = mBitmapDrawable.getBitmap();
(3)Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.图片名);

如何刷新View?
在UI线程中调用invalidate()方法,在非UI线程中调用postInvalidate()方法。

如何在一个apk中调用另外一个apk中的activity?
   系统提供了很多可以直接调用的Activity,通过指定的Intent就可以调用,比如打开搜索的:

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(intent);

     Intent.ACTION_WEB_SEARCH是一个字符串,是“搜索”这个Activity的标识,extra是传给这个activity的一些数据。发送出这个intent之后,系统根据action字符串Intent.ACTION_WEB_SEARCH知道了是要调用哪个activity,如果有重名,会弹出一个选择对话框。然后打开此activity,实现想要做的事情。
    那么,我们自己怎么来实现呢。
    首先,写一个activity,在AndroidManifest.xml里面的intent-filter中,给这个activity命名,
<intent-filter>
        <action android:name="chroya.foo"/>
        <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

    然后安装。安装完毕之后,你会发现,系统中找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main的,所以系统不会把他当做Application的入口程序。
    而要想打开这个activity,只有知道它名字的人才可以。跟系统的intent一样使用。它的名字定义为"chroya.foo",所以,这里用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值