不在着信の意図を知っている人はいますか。実際、アプリケーションで不在着信と着信時に SMS を送信したいと考えています。
10683 次
2 に答える
12
ContentObserver を使用する必要があります
public class MissedCallsContentObserver extends ContentObserver
{
public MissedCallsContentObserver()
{
super(null);
}
@Override
public void onChange(boolean selfChange)
{
Cursor cursor = getContentResolver().query(
Calls.CONTENT_URI,
null,
Calls.TYPE + " = ? AND " + Calls.NEW + " = ?",
new String[] { Integer.toString(Calls.MISSED_TYPE), "1" },
Calls.DATE + " DESC ");
//this is the number of missed calls
//for your case you may need to track this number
//so that you can figure out when it changes
cursor.getCount();
cursor.close();
}
}
アプリから、これを行うだけです。
MissedCallsContentObserver mcco = new MissedCallsContentObserver();
getApplicationContext().getContentResolver().registerContentObserver(Calls.CONTENT_URI, true, mcco);
于 2011-01-13T19:59:04.593 に答える
10
私の知る限り、不在着信の特定のブロードキャストはありません。
ブロードキャストを視聴し、電話が からにACTION_PHONE_STATE_CHANGED
切り替わるまで待ってから、コンテンツ プロバイダーをチェックして、電話に出られなかったかどうかを確認してください。この手法は試していませんが、うまくいくかもしれません。EXTRA_STATE_RINGING
EXTRA_STATE_IDLE
CallLog
于 2010-09-08T10:19:20.090 に答える