跳转android系统页面

1-发送短信页面

Intent intent = new Intent();
// [5]匹配过滤器
//通过查看系统源代码 找到如下的过滤器
// (打开手机自带应用--点击进入会打印相应的日志信息--在text中会有跳转的相应页面,我们就可以找到相应的源码,只要是页面就会在清单文件中有相应的配置)
// 要看具体匹配哪一个意图过滤器,看传递的数据--mimeType="text/plain
               /*
     *     
     */
intent.setAction("android.intent.action.SEND");
intent.addCategory("android.intent.category.DEFAULT");
intent.setType("text/plain");
// [5.1]把选中条目的数据传递到另外一个页面 (key(看源码,系统是如何取的),value())
// 传的是String,到那边查的时候也是String,---getStringExtra
intent.putExtra("sms_body", data);
// [6]开启意图
startActivity(intent);

谷歌api发送短信

//[1] SmsManager.getDefault()获取短信发送的管理者 通过查看文档得知 通过调用他的静态方法获取
SmsManager smsManager = SmsManager.getDefault();
//[2] divideMessage切割短信—返回集合—遍历
ArrayList divideMessage = smsManager.divideMessage(content);
for (String div : divideMessage) {
//[3]发送短信
    //参数1:发送的地址(给谁发)
    //参数2:服务中心的号码(null表示默认的)
    //参数3:发送发送的内容
    //参数4:如果不为null就是个延期的广播-发送成功
    //参数5:如果不为null就是个延期的广播-发送失败
    //sendTextMessage有字数限制,需要切割
    smsManager.sendTextMessage(number, null, div, null, null);
}
//权限

2-IP拨号

 
        
            
                
            
        
public class OutGoingCallReceiver extends BroadcastReceiver {

    //当接收到外拨电话的时候执行
    @Override
    public void onReceive(Context context, Intent intent) {
        String ipnumber = sp.getString("ipnumber", "");
        //[1]获取当前拨打的号码  获取发送广播携带的数据
        String currentNumber = getResultData();
        //[2]在当前要拨打的号码前面加上17951 
        if (currentNumber.startsWith("0")) {
            setResultData(ipnumber+currentNumber);
        }
    }

}

权限


3-SD卡状态监听


    
        
        
        
    

public class SdcardReceiver extends BroadcastReceiver {

    //当挂载sd卡 或者卸载sd卡的时候执行
    @Override
    public void onReceive(Context context, Intent intent) {
        //[1] getAction()获取一下当前广播的事件类型
        String action = intent.getAction();
        //[2]判断一下当前的类型
        if ("android.intent.action.MEDIA_MOUNTED".equals(action)) {
            System.out.println("挂载了~~~~");
        } else if ("android.intent.action.MEDIA_UNMOUNTED".equals(action)) {
            System.out.println("卸载了~~~++~~");
        }
    }

}

4-开机启动广播接收


    
        
    

5-应用安装和卸载广播接收


    
        
        
        
    

public class AppStateReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        //[1] getAction()获取当前广播的事件类型
        String action = intent.getAction();
        if ("android.intent.action.PACKAGE_INSTALL".equals(action)) {
            System.out.println("这个没啥用~~~");
        } else if ("android.intent.action.PACKAGE_ADDED".equals(action)) {
            //intent.getData()拿到应用的包名
            System.out.println("应用被安装了++++" + intent.getData());
        } else if ("android.intent.action.PACKAGE_REMOVED".equals(action)) {
            System.out.println("应用被卸载了~~~");
        }
    }
}

你可能感兴趣的:(跳转android系统页面)