Android簡易実戦教程--第二十話「ラジオ受信者を通して、電話にip番号を付加する」
寝ていません.起きたらもっと文章を書きましょう.まず、李宗偉が私のダンを破ったことをお祝いします.応援してくれたのですが、彼も容易ではないです.尊敬できる人です.本題に入ります.このページでは、カスタム放送の受信者を紹介します.
私たちは普通外で電話をかける時は、ネット電話を使うのです.電話番号があるタイプの電話なら、自動的に前にipを付けます.費用を節約する.今日はこのページでipダイヤルをシミュレートします.この機能は、放送受信者によって実現される.受信者をカスタマイズして、「傍受」電話をかける時にシステムからの放送(システムは私達が登録したラジオに対して大声で叫びます.「親愛なる、来ました.」)を受信した後、外部に電話のプレフィックス価格ip番号をダイヤルします.
まずactivityのレイアウトをください.
カスタムブロードキャストの登録(プロファイル登録):
メインイベントのコードを見てください.
実行してみます.
外の電話を見てください.
私たちは普通外で電話をかける時は、ネット電話を使うのです.電話番号があるタイプの電話なら、自動的に前にipを付けます.費用を節約する.今日はこのページでipダイヤルをシミュレートします.この機能は、放送受信者によって実現される.受信者をカスタマイズして、「傍受」電話をかける時にシステムからの放送(システムは私達が登録したラジオに対して大声で叫びます.「親愛なる、来ました.」)を受信した後、外部に電話のプレフィックス価格ip番号をダイヤルします.
まずactivityのレイアウトをください.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:orientation="vertical"
>
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint=" ip "
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:onClick="click"
/>
</LinearLayout>
EditTextは私たちが加入するip番号を入力するために使用されます.Buttonはこの番号を保存します.カスタムブロードキャストの登録(プロファイル登録):
<receiver android:name=".CallReceiver">
<intent-filter >
<!-- , android.intent.action.NEW_OUTGOING_CALL, , ——>
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
package com.itydl.ipdialer;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
public class CallReceiver extends BroadcastReceiver {
//
@Override
public void onReceive(Context context, Intent intent) {
// IP
// , ,
String number = getResultData();
if(number.startsWith("0")){
SharedPreferences sp = context.getSharedPreferences("ip", Context.MODE_PRIVATE);
String ipNumber = sp.getString("ipNumber", "");
// IP
number = ipNumber + number;
// , ip
setResultData(number);
abortBroadcast();
}
}
}
上に放送の受信者を書いて、先に私達の保存したip番号を取り出して、また番号にプレフィックスを加えて、最後の番号を外ダイヤルに表示します.メインイベントのコードを見てください.
package com.itydl.ipdialer;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View v){
EditText et = (EditText) findViewById(R.id.et);
SharedPreferences sp = getSharedPreferences("ip", MODE_PRIVATE);
sp.edit().putString("ipNumber", et.getText().toString()).commit();
}
}
参加する権限があると覚えています. 実行してみます.
外の電話を見てください.