Androidの着信監視と電力除去の実現方法
本論文の例は、Androidが電話を傍受し、電気を除去する実現方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
Androidから電話を受けるには、次の2つのステップが必要です。
第一歩は、Receiverを書いてBroadcastReceiverから引き継ぎます。
また、相応の権限を加えることに注意します。
Android Manifest機能と権限説明大全:
http://tools.jb51.net/table/AndroidManifest
Android関連の内容についてもっと興味がある読者は、当駅のテーマを調べてもいいです。「Androidメールと電話操作テクニックのまとめ」、「Android操作SQLiteデータベース技術まとめ」、「Android開発入門と上級教程」、「Androidマルチメディア操作技術まとめ(オーディオ、ビデオ、録音など)」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayout技巧まとめ」および「Androidコントロールの使い方のまとめ」
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。
Androidから電話を受けるには、次の2つのステップが必要です。
第一歩は、Receiverを書いてBroadcastReceiverから引き継ぎます。
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;
public class PhoneStateBroadCastReceiver extends BroadcastReceiver
{
private static final String TAG = "PhoneStateBroadCastReceiver";
private static boolean mIncomingFlag = false;
private static String mIncomingNumber = null;
@Override
public void onReceive(Context context, Intent intent)
{
//
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL))
{
mIncomingFlag = false;
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i(TAG, "call OUT:" + phoneNumber);
} else
{
//
TelephonyManager tManager =
(TelephonyManager) context.getSystemService(Service.TELEPHONY_SERVICE);
switch (tManager.getCallState())
{
case TelephonyManager.CALL_STATE_RINGING:
mIncomingNumber = intent.getStringExtra("incoming_number");
Log.i(TAG, "RINGING :" + mIncomingNumber);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if (mIncomingFlag)
{
Log.i(TAG, "incoming ACCEPT :" + mIncomingNumber);
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if (mIncomingFlag)
{
Log.i(TAG, "incoming IDLE");
}
break;
}
}
}
}
ステップ2:Android Manifest.xmlにReceiverを配置し、対応するBroadCastActionをブロックし、また、相応の権限を加えることに注意します。
<receiver android:name=".broadcase.PhoneStateBroadCastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
PS:ここでAndroid Manifest.xmlの権限制御に関するオンライン検索ツールを提供します。Android Manifest機能と権限説明大全:
http://tools.jb51.net/table/AndroidManifest
Android関連の内容についてもっと興味がある読者は、当駅のテーマを調べてもいいです。「Androidメールと電話操作テクニックのまとめ」、「Android操作SQLiteデータベース技術まとめ」、「Android開発入門と上級教程」、「Androidマルチメディア操作技術まとめ(オーディオ、ビデオ、録音など)」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayout技巧まとめ」および「Androidコントロールの使い方のまとめ」
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。