朱红的泪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

     软件已经上传到Android电子市场:http://www.appchina.com/soft_detail_203638_0_10.html

  一年一度的春运又开始了,人们都希望舒舒服服的回家过年。大部分人的首选肯定是做火车,普通人都有能力支付。但是买票难是一个非常严重的问题。现在订票方式有多种,车站购票,代售点购票,网络订票,电话订票。

车站购票,代售点购票这个就不会说了,没意思。

  网络订票,这个可以选择。很多人说网络订不到票,这样那样的抱怨,说实话:订票网站确实做得不好,但是让你订不到票的一个原因就是你的网络太烂。我身边通过网络订票成功的人事也很多。铁道部说用2M的宽带就可以了,其实这个是忽悠你,根据我这几天的测试,8M以上的宽带才有优势,你家没有8M的宽带,你就不要想在第一时间订票,否则,你就只能捡别人的剩菜。。。。。。

  电话订票,今天我要说的核心就是这个。能否把电话打进去是一个非常严重的问题。你可否想过你在重复拨号的操作是否很累,我们能否简化这个操作???让程序帮你自动拨号,一直到拨通不就行了吗?有想法就要做。

使用这个软件订票,你至少准备4个Android手机,基本上就万无一失了。

截止今天,此程序已经帮公司许多人订了卧铺。

其实去年我也发过这个程序,叫做疯狂订票,和同事douzifly一起弄的.

 

本人使用程序订票结果:

程序原理非常简单,如下:

         就是开启一个服务,监听电话是否挂断,如果电话挂断,立刻重拨。

 

实现如下:

import android.app.Service;

import android.content.Intent;

import android.net.Uri;

import android.os.IBinder;

import android.telephony.PhoneStateListener;

import android.telephony.TelephonyManager;

 

public class LoopCallService extends Service {

 

    public static String PHONENUMBER = "95105105";

    public static boolean IS_CALL = false;

 

    @Override

        public IBinder onBind(Intent intent) {

            return null;

        }

 

        void loopCall() {

            if (IS_CALL) {

                Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"

                    + PHONENUMBER));

                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                startActivity(intent);

            }

        }

 

        TelephonyManager phoneMgr;

        MyPhoneStateListener myPhoneStateListener = new MyPhoneStateListener();

 

        @Override

            public int onStartCommand(Intent intent, int flags, int startId) {

                PHONENUMBER = intent.getExtras().getString("PHONENUMBER");

                phoneMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

                phoneMgr.listen(myPhoneStateListener,

                    PhoneStateListener.LISTEN_CALL_STATE);

                return super.onStartCommand(intent, flags, startId);

            }

 

            @Override

                public void onDestroy() {

                    if (phoneMgr != null) {

                        phoneMgr.listen(myPhoneStateListener,

                            PhoneStateListener.LISTEN_NONE);

                    }

                }

 

                class MyPhoneStateListener extends PhoneStateListener {

                    @Override

                        public void onCallStateChanged(int state, String incomingNumber) {

                            switch (state) {

            case TelephonyManager.CALL_STATE_IDLE:

                loopCall();

                break;

                            }

                        }

                }

}

 

以前的程序名字叫做疯狂拨号,以前好像上传在安卓网的,里面应该能搜索到。

现在的程序叫火车票电话订票,昨天上传到Android电子市场,但是审核还没有通过。

这个程序改了一下原来的多余的拨号次数限制,就一个循环拨号,尽可能的简单操作,不需要复杂,绚丽的界面,

目的只有一个,就是拨通订票电话。

 

程序运行如下:

 

mail:weiwutan@gmail.com

posted on 2012-01-06 11:21  朱红的泪  阅读(2537)  评论(1编辑  收藏  举报