通过拨号来取消隐藏Android应用程序

时间:2014-09-26 05:42:38

标签: android android-launcher

我有一个间谍应用程序我可以通过点击按钮隐藏其菜单中的图标,但我无法通过电话拨号器取消隐藏, 我使用了以下 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>

2 个答案:

答案 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()方法再次用一些布尔值隐藏应用程序。