我有一个间谍应用程序我可以通过点击按钮隐藏其菜单中的图标,但我无法通过电话拨号器取消隐藏, 我使用了以下 JAVA代码:
public class launchReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
String compare_num="#5555";
if(number.equals(compare_num))
{Intent myintent=new Intent(context,com.example.hide.MainActivity.class);
myintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myintent);
abortBroadcast();} }}
MANIFEST代码
<receiver android:name=".launchReceiver"
android:enabled="true" >
<intent-filter android:priority="0">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
答案 0 :(得分:1)
使用此代码:
public class launchReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phoneNumber = getResultData();
if (phoneNumber == null) {
phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
}
if(phoneNumber.equals("#5555")){ // DialedNumber checking.
setResultData(null);
// Start Application
Intent i=new Intent(context,MainActivity.class);
i.putExtra("extra_phone", phoneNumber);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
并从清单中删除android:priority。
添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
在清单中。
答案 1 :(得分:1)
重要:解决此问题是一种棘手的方法。看看这些要点并尝试
1)匹配号码后,在Broadcast类中取消隐藏您的应用程序。 2)然后使用Intent打开您的活动 3)当打开你的活动然后在你的活动中onDestroy()方法再次用一些布尔值隐藏应用程序。