BroadcastReceiver 小案例
来源:互联网 发布:刀塔传奇 数据 编辑:程序博客网 时间:2024/06/05 22:34
我们阻止所有的拨号。
获取所拨的数据。
package org.china.lee.receiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class OutPhoneReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println(getResultData());abortBroadcast();}}
<receiver android:name="org.china.lee.receiver.OutPhoneReceiver" > <intent-filter android:priority="1000" > <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
以下不管我们拨啥都拨10086
log
阻止你所有的拨号。
package org.china.lee.receiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class OutPhoneReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {setResultData(null);}}
最后一个是在视频学习中的ip拨号器。
首先我们将我们的前缀存在文件中,当拨号的时候,我们将这个数据取出来,加在号码前面。
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical" tools:context=".BroadcastActivity" > <EditText android:id="@+id/et_ip" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="ip前缀" /></LinearLayout>
activity保存前缀代码
package org.china.lee.broadcastdemo;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class BroadcastActivity extends Activity {private EditText et_ip;private Button btn;private SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_broadcast);sp=getSharedPreferences("config",Context.MODE_PRIVATE);et_ip=(EditText) super.findViewById(R.id.et_ip);btn=(Button) super.findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String number=et_ip.getText().toString().trim();if(number==null || "".equals(number)){Toast.makeText(getApplicationContext(),"ip号码为空",Toast.LENGTH_SHORT).show();return ;}Editor editor=sp.edit();editor.putString("number",number);editor.commit();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.broadcast, menu);return true;}}
广播接受者代码:
package org.china.lee.receiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;public class OutPhoneReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("初始化数据:"+getResultData());SharedPreferences sp=context.getSharedPreferences("config",Context.MODE_PRIVATE);String number=sp.getString("number","");setResultData(number+getResultData());}}
系统清单文件配置。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.china.lee.broadcastdemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="org.china.lee.broadcastdemo.BroadcastActivity" 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="org.china.lee.receiver.OutPhoneReceiver" > <intent-filter android:priority="1000" > <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver> </application></manifest>
0 0
- BroadcastReceiver 小案例
- Android中BroadcastReceiver案例讲解
- BroadcastReceiver的小细节
- 小案例
- 常用的几个BroadcastReceiver场景案例
- BroadcastReceiver实现闹钟简单小例
- Android开发小知识-BroadCastReceiver的使用
- 小谈Android四大组件之BroadcastReceiver
- css小案例 小demo
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- BroadcastReceiver
- C++ AO读取一个shapefile文件的所有属性值
- warning: deprecated conversion from string constant to "char *"
- JSP中include指令和include动作的区别
- 思维导图软件XMind的安装注意事项
- tomcat-conf目录
- BroadcastReceiver 小案例
- 在storm中使用非Java语言
- Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
- C#如何运行外部程序(打开可执行程序):ShellExcute和Process
- 读SHAPE文件的属性数据
- encodeURI解决乱码问题bug
- c#[Serializable]关键字
- Windows下获取Android系统源码
- gluLookAt 函数