我已经看过所有的“常见”错误,但我没有做过(不幸)。RECEIVE_SMS广播接收器不工作?
我不能为了我的生活找出为什么(至少),我没有得到日志消息!
的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.liamwli.spyware.usertrack"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="10" />
<permission
android:name="com.liamwli.spyware.usertrack.permission.PREFS"
android:description="@string/permdisc"
android:label="Prefs"
android:logo="@drawable/ic_launcher"
android:protectionLevel="signature" >
</permission>
<uses-permission android:name="com.liamwli.spyware.usertrack.permission.PREFS" />
<permission
android:name="com.liamwli.spyware.usertrack.permission.CONFIG"
android:description="@string/permdiscconfig"
android:label="Config"
android:logo="@drawable/ic_launcher"
android:protectionLevel="signature" >
</permission>
<uses-permission android:name="com.liamwli.spyware.usertrack.permission.CONFIG" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ProcessSMS"
android:excludeFromRecents="true"
android:label="@string/app_name" >
</activity>
<activity android:name=".Launcher" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ActivityConfig"
android:excludeFromRecents="true"
android:exported="true"
android:label="@string/app_name"
android:permission="com.liamwli.spyware.usertrack.permission.CONFIG" >
</activity>
<activity
android:name=".Prefs"
android:permission="com.liamwli.spyware.usertrack.permission.PREFS" >
<intent-filter>
<action android:name="com.liamwli.spyware.usertrack.PREFS" />
<category android:name="android.intent.cetagory.PREFERENCE" />
</intent-filter>
</activity>
<receiver
android:name=".CodeReceive"
android:enabled="true"
android:excludeFromRecents="true"
android:exported="true" >
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data android:scheme="android_secret_code" />
</intent-filter>
</receiver>
<receiver
android:name=".ReceiveSMS"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
</manifest>
ReceiveSMS.java: '收到的短信'
package com.liamwli.spyware.usertrack;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.telephony.SmsMessage;
import android.util.Log;
public class ReceiveSMS extends BroadcastReceiver {
SharedPreferences prefs;
SharedPreferences.Editor edit;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.d("User Track", "SMS Received!");
prefs = PreferenceManager.getDefaultSharedPreferences(context);
edit = prefs.edit();
Bundle myBundle = intent.getExtras();
SmsMessage[] messages = null;
String strMessage = "";
if (myBundle != null) {
Object[] pdus = (Object[]) myBundle.get("pdus");
messages = new SmsMessage[pdus.length];
for (int i = 0; i < messages.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
if (messages[i].getMessageBody().toString()
.equals(prefs.getString("cbp_pass", null))) {
Log.d("User Track", "Message Equals Password!");
Intent start = new Intent(context, ProcessSMS.class);
start.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
start.putExtra("Sender",
messages[i].getOriginatingAddress());
context.startActivity(start);
}
}
}
}
}
我甚至不得到日志消息,这告诉我这根本不起作用。
第二个问题是,我怎样才能让短信绕过短信应用程序,只是去我的应用程序?
'com.liamwli.spyware'你期待帮助吗?真的吗? – WarrenFaith
@WarrenFaith我应该提到这是一个小型的私人爱好项目;)你*不会*看到它在互联网上的任何地方:) –
是的,这将是一件很好的事情知道! :D ...等等,一个好的间谍软件应该在任何地方都看不到...所以我仍然希望你只用它来窥探你自己......或者保持它作为概念证明。 – WarrenFaith