android學習筆記之快捷方式 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

 

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="https://schemas.android.com/apk/res/android"

      package="king.demo"

      android:versionCode="1"

      android:versionName="1.0">

    <application android:icon="@drawable/icon" android:label="@string/app_name">

        <activity android:name=".MainActivity"

                  android:label="@string/app_name">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

                <action android:name="android.intent.action.CREATE_SHORTCUT" />    //需要加上這一句

            </intent-filter>

        </activity>

    </application>

 

</manifest>

 

 

 

 

package king.demo;

 

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.os.Parcelable;

 

 

public class MainActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        //要添加的快捷方式的Intent

        Intent addShortCut;

        //判斷是否要添加快捷方式

        if(getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)){

               addShortCut = new Intent();

               //設置快捷方式的名字

               addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "發送郵件");

               //構建快捷方式中專門的圖標

               Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);

               //添加快捷方式圖標

               addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);

               //構建快捷方式執行的Intent

               Intent mailto = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:xxx@xxx.com"));

               //添加快捷方式Intent

               addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, mailto);

               //正常,返回,構建一個快捷方式

               setResult(RESULT_OK, addShortCut);

              

        }

        else{

               setResult(RESULT_CANCELED);

        }

        //關閉

        finish();

    }

}

 

You May Also Like