小编rup*_*dge的帖子

android 服务在后台跟踪拨出电话和短信

我想在 android 中编写一个服务,它将在后台跟踪拨出电话和短信。每当收到拨出电话事件或拨出 SMS 事件时,我想获取电话号码、日期、通话时长(如果拨出电话)和通话费用或短信费用等详细信息。我想将这些详细信息保存在本地数据库中。

我尝试将广播接收器与服务一起使用,但无法计算实际通话时长。对于 SMS,我发现我们需要在某个特定时间段后检查 SMS 文件夹是否已更新。是否有任何事件会在发送短信后通知。

以下是我迄今为止尝试过的代码-

我的 MainActivity.java

public class MainActivity extends Activity {

    TextView call = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        call = (TextView) findViewById(R.id.call);

        Intent intent = new Intent(this, HelloService.class);
        startService(intent);

    }
}
Run Code Online (Sandbox Code Playgroud)

我的服务班

public class HelloService extends Service {
      CallDurationReceiver receiver = null;


      @Override
      public void onCreate() {

          receiver = new CallDurationReceiver();

          IntentFilter filter = new IntentFilter();
          filter.addAction("android.provider.Telephony.SMS_RECEIVED");
          filter.addAction(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED);
          registerReceiver(receiver, filter);

          HandlerThread thread = new HandlerThread("ServiceStartArguments");
        thread.start();

      }

      @Override …
Run Code Online (Sandbox Code Playgroud)

service android broadcastreceiver

5
推荐指数
0
解决办法
3874
查看次数

标签 统计

android ×1

broadcastreceiver ×1

service ×1