Androidはサードパーティから自分のapkを起動する


本編は主に郭霖大神の微信の中の文章を見た後の実験である.
大神の文章の住所を貼ります:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235870&idx=1&sn=8499e45b52199e739d73ba7d2db2c21b&scene=0#wechat_redirect
ウェブページの接続から自分のアプリケーションを開き、携帯電話でサーバーを構築し、KSWEBオープンソースサーバーを使用しようとしたが、成功しなかった.
1.apkで別のapkを起動する:(2つの個別のアプリケーション)
android之从第三方启动自己的apk_第1张图片
コードは主に起動するアプリケーションの完全なパッケージ名と完全なクラス名を必要とし、Intentを送信してメッセージを伝達する.
//                 package   class  
        Intent mIntent = new Intent( );
        mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        ComponentName comp = new ComponentName("com.cl.slack.deeplinks", "com.cl.slack.deeplinks.MainActivity");
        mIntent.setComponent(comp);
        mIntent.setAction("android.intent.action.VIEW");
        startActivity(mIntent);
        finish();

2.自分に対しても酔って、最后に意外にもtomcatを使って1つのLANサーバーを构筑して、それから仮想机はLANアドレスを开けて、ははは、しかし私も大神の机能を実现して、ホームページの中で自分のappを开きます
android之从第三方启动自己的apk_第2张图片
ページの端に一言
deep link
manifestファイル:



    
        
            
                

                
                // deep links
                
                
                
                
            
        
        
        
    


デフォルトで開始されたactivity:
/** deep links
 *         :http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235870&idx=1&sn=8499e45b52199e739d73ba7d2db2c21b&scene=0#wechat_redirect
 * create by chenling 2016-05-10
 * */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = getIntent();
        if (intent != null) {
            Uri uri = intent.getData();
            if(uri != null){
                // uri  com.slack.androidtest://buydress
                Log.i("slack",uri.toString());
                String host = uri.getHost();
                Log.i("slack",host);
                if ("buydress".equals(host)) {
                    //         
                    startActivity(new Intent(this,BuyActivity.class));
                }
            }
        }

    }
}
郭霖大神に感謝