2016-01-18 47 views

回答

3

您應該輸入號碼*#*#xxxx#*#*,比如*#*#110#*#*

創建一個接收器:

import android.content.BroadcastReceiver; 

import android.content.Context; 

import android.content.Intent; 

public class Listener extends BroadcastReceiver { 

@Override 

public void onReceive(Context context, Intent intent) { 

String pwd = intent.getData().getHost(); 

Intent i = new Intent(context, CalllistenerActivity.class); 

i.putExtra("data", pwd); 

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

context.startActivity(i); 

} 

} 

創建活動:

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class CalllistenerActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TextView tv = new TextView(this); 
     String pwd = getIntent().getStringExtra("data"); 
     tv.setText(TextUtils.isEmpty(pwd)?"Plz input *#*#123#*#* in dial" :pwd); 
     setContentView(tv); 
    } 
} 

註冊在AndroidManifest:

<activity android:name=".CalllistenerActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<receiver android:name="Listener"> 
    <intent-filter> 
     <action android:name="android.provider.Telephony.SECRET_CODE" /> 
     <data android:scheme="android_secret_code" /> 
    </intent-filter> 
</receiver> 

你應該

+0

謝謝..它的工作.. :) – user5072303

+0

我不明白我們應該把密碼放在代碼的哪裏? –

+0

*#*#8888#*#*。8888是密碼。你可以從getIntent()。getStringExtra(「data」)得到它。 –

相關問題