我有一个需要隐藏的 android 应用程序,只有在用户拨打特定号码时才会出现。请问我可以确切地知道它是如何完成的吗?我已经搜索并没有成功。提前致谢。
问问题
630 次
1 回答
1
为了从启动器中完全隐藏应用程序,您首先需要创建一个 BroadcastReciever:
public class LaunchAppViaDialReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
if (null == bundle)
return;
String phoneNubmer = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
//here change the number to your desired number
if (phoneNubmer.equals("<Requested Number>")) {
setResultData(null);
if(status == true){
PackageManager packageManager = context.getPackageManager();
ComponentName componentName = new ComponentName(context,
YourLauncherActivity.class);
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
Intent appIntent = new Intent(context, YourLauncherActivity.class);
appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(appIntent);
}
}
}
并添加权限:android.permission.PROCESS_OUTGOING_CALLS 将 BroadcastReciever 添加到 Manifest 文件。
最好让用户通过偏好设置Ghost模式
于 2012-09-11T12:39:23.087 回答