我想从应用程序列表中隐藏我的应用程序,这样第三人就不会知道该应用程序已安装。
我看到这可以通过以下方式实现:如果您想从应用程序启动器中隐藏您的应用程序,那么就不要包含android.intent.category.LAUNCHER
在您的任何活动中。
我试过了,它正在工作。现在我需要定义一个快捷方式来启动我的应用程序。
我正在尝试通过一个广播接收器来实现这一点。onreceive
所以如果拨打的号码=我的模式,我会检查我的,然后启动我的活动
我在这里有一些问题
这是正确的做法吗
请在下面查看我的接收器代码,这里我的接收器被调用,但与处理“数字拨号”的系统应用程序一起也被调用。因此,即使我拨打我的模式,在显示我的活动后,它也会拨打电话。如果拨打的号码符合我的模式,我想停止拨打电话。我怎样才能做到这一点
我将我的活动作为一项新任务启动。当我第一次运行我的应用程序时,我的活动屏幕来了。但是当我再次拨号时,它没有被带到前面。我怎样才能做到这一点。我想如果我解决了我以前的问题,这将得到照顾。
public class OutgoingCallInterceptor extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final String originalNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); this.setResultData("0123456789"); final String newNumber = this.getResultData(); String msg = "Intercepted outgoing call. Old number " + originalNumber + ", new number " + newNumber; Toast.makeText(context, msg, Toast.LENGTH_LONG).show(); Intent intent1 = new Intent(context,ShowMessageActivity.class); intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent1); } }
清单文件
<application android:icon="@drawable/icon" android:label="Outgoing Call Interceptor">
<receiver android:name="OutgoingCallInterceptor">
<intent-filter android:priority="1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"></action>
</intent-filter>
</receiver>
<activity android:name="ShowMessageActivity" ></activity>
</application>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>