手机签到经验翻倍!快来扫一扫!
改了短信中心号码的同学请注意
1567浏览 / 25回复
如果大家玩的或者软件正在联网时,出现了注册发信息,这时候大家要注意!就算你改了短信中心号码也不行的,因为他们会通过网上扣费的.
我就是这样在书城扣了4元钱
真的假的呀
有什么办法没
sqr我也是.我看的书,花了两块。
我也是,号码该了,还扣了我四块!
真的如此吗?以后可要小心了…
本月因为和主题发了很多短信,是修改中心号码发的,但是我去查了话费发现1:基本费,也就是月租,按日扣的,共8.19元。2:通信费,包括本地与长途,今天22号了,本地费只有6块多,长途33块多。3:增值业务,也就是来电显示,按日扣总共3.99元。4:代收费2元,这个我记得很清楚,第一次弄主题的时候忘记改中心号码,发了2条短信,发件箱里有保存。后来改了中心号码,再弄主题和游戏发件箱里就什么也没有了。三种可能:1:没有扣费,2:月底结账,3:费用算在我的长途话费里了。以上为个人观点,不代表官方意见,仁者见仁智者见智。(注:由于***游戏和主题,短信至少发了100条)
为什么都要用自带收费的东西呢?就没有代替的免费资源?
我绝对的被扣了,还回复 给我感谢使用的短信,唉郁闷查话费,互动乐园业务点播费里扣调了,肉痛。。。。
我也是。。。
对 楼主 achan3275 说:=========================
那我的那些主题~~
对 第10楼 Thare 说:=========================你在装主题时候 为了保险期间换张费卡
然后再换回用的卡
多谢!以后我不会再修改了!
修改了短信中心模式
不能发短信了
怎么办? 我都改过了
同病相怜啊
哦哦,有的是提醒短信扣费的,还有就是联网的,联网的当然要扣啦!
我的就直接发布出去!
好&&&&&&&&&&&&
还好我没有实施行动啊...不然就悲剧了
支持键盘翻页 ( 左右 )&
您需要登录后才可以回帖&&&|&&&&&
可能感兴趣的板块:
用户名/注册邮箱/注册手机号
其他第三方号登录5113人阅读
android 学习随笔(5)
获取短信中心号大致有三种方式,第一种方法 通过向移动运营商(比如10086)发送一条免费短信然后等待对方回复,从对方回复的短信中获取短信中心号;实现方式参见&,该种方式的优点就是肯定能得到正确的短信中心号(电信的卡除外), 但也有一些缺点 1: 对方回复短信需要等待一段时间,具体等待多长时间无法确定。2:
有的手机不一定能成功拦截下行短信因此带来的用户体验不是很好。
第二种方法和第一种比较相似,直接从用户的收件箱中读取一条短信然后从该信息中获取短信中心号,这种方式的好处就是不用发送短信;缺点是获取的短信中心号不一定正确,比如用户以前一直用的移动的卡收件箱中短信存的都是移动的短信中心号,之后如果换成联通的卡后获取的短信中心还是移动的。
第三种就是直接获取用户手机中的短信中心号,该种方式需要你的应用满足两个条件,1:你的应用需要有系统签名. 2:你的应用需要和phone进程在同一个进程组。具体实现方式如下:
配置AndroidManifest.xml 文件
&?xml version=&1.0& encoding=&utf-8&?&
&manifest xmlns:android=&&
&&&&& package=&com.hello&
&&&&& android:sharedUserId=&android.uid.phone&
&&&&& android:versionCode=&1&
&&&&& android:versionName=&100&&
&&& &application android:icon=&@drawable/icon&
&&&&& android:process=&com.android.phone&
&&&&& android:label=&@string/app_name&&
&&&&&&& &activity android:name=&.HelloWordActivity&
&&&&&&&&&&&&&&&&& android:label=&@string/app_name&&
&&&&&&&&&&& &intent-filter&
&&&&&&&&&&&&&&& &action android:name=&android.intent.action.MAIN& /&
&&&&&&&&&&&&&&& &category android:name=&android.intent.category.LAUNCHER& /&
&&&&&&&&&&& &/intent-filter&
&&&&&&& &/activity&
&&&&&&/application&
&/manifest&
具体实现代码如下:
public class HelloWordActivity extends Activity implements& Callback
&&& private Handler mSmscHandle =
&&&& @Override
&&& public void onCreate(Bundle savedInstanceState)
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& setContentView(R.layout.main);
&&&&&&& try
&&&&&&&&& mSmscHandle = new Handler(this);
&&&&&&&&& getSmsc();
&&&&&&& catch(Exception e)
&&&& * 本方法需要使用到两个隐藏类
&&&& * com.android.internal.telephony.PhoneFactory
&&&& * com.android.internal.telephony.Phone
&&& @SuppressWarnings(&unchecked&)
&&& public void getSmsc()
&&&&&&& //调用PhoneFactory.getDefaultPhone()
&&&&&&&&& Class PhoneFactory = Class.forName(&com.android.internal.telephony.PhoneFactory&);
&&&&&&&&& Method getDefaultPhone = PhoneFactory.getMethod(&getDefaultPhone&,& (Class[]) null);
&&&&&&&&& Object phone = (Object)getDefaultPhone.invoke(null, (Object[]) null);&&&&&&&&&
&&&&&&&&& Log.i(&HELLOWORLD&, &phone:& + phone);
&&&&&&&&& //调用Phone.getSmscAddress(Message result)
&&&&&&&&& Class[] ParamType = new Class[1];
&&&&&&&&& ParamType[0] = Message.
&&&&&&&&& Message msg = mSmscHandle.obtainMessage(10001);
&&&&&&&&& Object[] paramValue = new Object[1];
&&&&&&&&& paramValue[0] =
&&&&&&&&& Class Phone = Class.forName(&com.android.internal.telephony.Phone&);
&&&&&&&&& Method getSmscAddress = Phone.getDeclaredMethod(&getSmscAddress&, ParamType);
&&&&&&&&& getSmscAddress.invoke(phone, paramValue);&&&&&
&&&&& catch( Exception e )
&&&&&&&&& showTrace(e);
&&& public boolean handleMessage(Message msg)
&&&&& // TODO Auto-generated method stub
&&&&&& * 收到短信中心号
&&&&&& * sg.obj 为AsyncResult的实例对象
&&&&& Log.i(&HELLOWORLD&, &handleMessage() msg.what:& + msg.what
&&&&&&&&& + & data:& + msg.peekData()
&&&&&&&&& + & result:& + msg.obj.toString());
&&&&& if(10001 == msg.what)
&&&&&&& dealSmscResult(msg.obj);
& private void dealSmscResult(Object asyncResult)
&&&&& Field exception = asyncResult.getClass().getDeclaredField(&exception&);
&&&&& Throwable throwable = (Throwable)exception.get(asyncResult);
&&&&& Field result = asyncResult.getClass().getDeclaredField(&result&);
&&&&& Object myResult = result.get(asyncResult);
&&&&& if(null != myResult)
&&&&&&& Log.i(&HELLOWORLD&, &dealSmscResult() result:& + myResult.toString());
&&&&&&& String szResult = (String)myR
&&&&&&& String szAddr = szResult.split(&,&)[0];
&&&&&&& Log.i(&HELLOWORLD&, &dealSmscResult() smsc:& + szAddr);
&&&&& if(null != throwable)
&&&&&&& Log.i(&HELLOWORLD&, &dealSmscResult() throwable:& + throwable.getMessage());
&&& catch(Exception e)
&&& {&&&&&
&&&&& showTrace(e);
代码比较简单,就是调用两个两个隐藏的com.android.internal.telephony.PhoneFactory,
om.android.internal.telephony.Phone 就能获取本机的短信中心号码。
之后还需要使用android源码包中 platform.pk8& platform.x509.pem&两个文件(build\target\product\security 目录下)对生成的apk签名;否则无法***在手机上。签名的命令为
java -jar signapk.jar &platform.x509.pem platform.pk8 HelloWord.apk &HelloWordSign.apk
大功告成,现在你的手机运行HelloWordSign.apk看看log中有没有短信中心号。在本人的i9000上测试成功。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:126471次
积分:1297
积分:1297
排名:千里之外
原创:15篇
评论:31条
(1)(2)(2)(2)(1)(2)(1)(3)(3)(1)(1)(1)(1)(1)(1)