如何通过指令输入来启动安卓应用程序

原创 2015年11月17日 19:16:05

        在安卓开发中,有时我们并不希望开发的应用程序让所有其他用户使用,仅限于内部测试使用,这时,通过指令输入的方式来启动这样的应用是一个不错的选择。实际中,大多数开发的安卓应用是直接安装使用的,安装后它们都会在桌面上显示该应用的图标,那么如何不通过点击应用图标,而是通过指令来启动呢?

        应从以下两个地方对源码文件进行修改:

        1、创建指令接收类,该类主要用于接收启动应用的指令,并启动程序入口主类来开启该程序;

         代码如下:

package com.android.xxx;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;

public class MyBroadcastReceiver extends BroadcastReceiver{
	
	
	private static final String TAG = "MyBroadcastReceiver";

	@Override
	public void onReceive(Context context, Intent intent) {
            Uri uri = intent.getData();
            String host = uri.getHost();
            
            Intent i = new Intent(Intent.ACTION_MAIN);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        Log.i(TAG,"指令输入");    
		if("1234".equals(host))//判断输入的指令,并开启程序主类
                {
                i.setClass(context, MainActivity.class);
                context.startActivity(i);//开启程序主类
                }						
	}	
}
        2、修改AndroidManifest.xml文件 ,用来不显示程序图标和创建指令接收器;

       代码如下:

            <receiver android:name=".MyBroadcastReceiver">
	        <intent-filter>
	            <action android:name="android.provider.Telephony.SECRET_CODE" />
	            <data android:scheme="android_secret_code" 
	                  android:host="1234" />	            
	        </intent-filter>
	    </receiver>
	    
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
       这样在编译安装该程序后,在手机拨号键盘上输入*#*#1234#*#*就可以开启该程序了。不同平台的手机,指令的前后缀也会有所不同,这一点需要注意

   

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

安卓应用程序框架研究(一):Activity组件的启动过程

Activity是安卓四大基本组件之一,从应用程序的角度出发,Activity可以分为两种:根Activity和子Activity。根Activity以桌面图标形式显示在应用程序启动器中,它的启动就代...

网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂

网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂 一、服务简介 网易云加密为网易公司旗下产品,致力于为移动应用程序提供专业保护方案,让...
  • asmcvc
  • asmcvc
  • 2015-11-11 09:47
  • 2884

安卓应用程序开发宝典

  • 2012-02-29 12:52
  • 9.60MB
  • 下载

在安卓上部署服务器 - 应用程序的配置

原文地址:在安卓上部署服务器 - 应用程序的配置 本系列其他文章: 在安卓上部署服务器在安卓上部署服务器 - 应用程序的配置在安卓上部署服务器 - 解决内网穿透问题在安卓上部署服务器 - 部署脚本和...

88个安卓应用程序

  • 2013-07-26 11:05
  • 10MB
  • 下载

安卓应用程序插件化开发框架 -AAP Framework【开源项目】

介绍 这个框架的初衷,是为了方便让程序模块化、插件化,将一个apk应用拆分为多个apk。 不明白这个插件化、模块化是怎么回事的话,可以看看腾讯微信的安卓客户端中的插件配置。 在这里我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)