我希望我的應用程序用戶能夠向其他用戶分享/推薦我的應用程序。我使用ACTION_SEND意圖。我添加了純文字,內容如下:安裝這個很酷的應用程序。但是我找不到讓用戶直接進入市場安裝屏幕的方法。我所能提供的只是一個網頁鏈接或一些文本。 換句話說,我正在尋找一種非常直接的方式讓android用戶安裝我的應用程序。在Android中分享應用程序「鏈接」
感謝您的幫助/指針,
托馬斯
我希望我的應用程序用戶能夠向其他用戶分享/推薦我的應用程序。我使用ACTION_SEND意圖。我添加了純文字,內容如下:安裝這個很酷的應用程序。但是我找不到讓用戶直接進入市場安裝屏幕的方法。我所能提供的只是一個網頁鏈接或一些文本。 換句話說,我正在尋找一種非常直接的方式讓android用戶安裝我的應用程序。在Android中分享應用程序「鏈接」
感謝您的幫助/指針,
托馬斯
這將讓你從電子郵件,whastapp或其他任何選擇。
try {
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "My application name");
String sAux = "\nLet me recommend you this application\n\n";
sAux = sAux + "https://play.google.com/store/apps/details?id=Orion.Soft \n\n";
i.putExtra(Intent.EXTRA_TEXT, sAux);
startActivity(Intent.createChooser(i, "choose one"));
} catch(Exception e) {
//e.toString();
}
托馬斯,
您可能希望向用戶提供一個鏈接,將帶他們直接到您的應用程序的詳細信息頁面。以下是從developer.android.com:
加載應用程序的詳細信息頁面
在Android Market中,每個應用程序 有一個詳細頁面,爲用戶提供了應用程序的 概述。 例如,頁面包括在使用中它的應用程序和屏幕截圖 的簡短描述 ,如果由 顯影劑,以及從反饋用戶 的信息和關於所述 顯影劑供給。詳細信息頁面 包含一個「安裝」按鈕,用戶可以觸發該應用程序的下載/購買 。
如果你想給用戶指 特定的應用程序,你的應用程序 可以採取用戶直接 到應用程序的詳細信息頁面。要 這樣做,你的應用程序發送包含以下格式的URI 和查詢參數的 ACTION_VIEW意圖:
市場://細節ID =
在這種情況下,包名 參數爲目標應用程序的 完全限定的包名稱,如 在包屬性 中聲明的 應用程序的清單文件中的清單元素。對於 例如:
市場://細節ID = com.example.android.jetboy
來源:http://developer.android.com/guide/publishing/publishing.html
更確切地說
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.android.example"));
startActivity(intent);
,或者如果您想要從您的開發者分享您的其他應用程序。帳戶你可以做這樣的事情
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/store/apps/developer?id=Your_Publisher_Name"));
startActivity(intent);
要在應用程序名稱和應用程序ID自動填寫,你可以這樣做:
int applicationNameId = context.getApplicationInfo().labelRes;
final String appPackageName = context.getPackageName();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, activity.getString(applicationNameId));
String text = "Install this cool application: ";
String link = "https://play.google.com/store/apps/details?id=" + appPackageName;
i.putExtra(Intent.EXTRA_TEXT, text + " " + link);
startActivity(Intent.createChooser(i, "Share link:"));
調用此方法:
public static void shareApp(Context context)
{
final String appPackageName = context.getPackageName();
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out Aap Ka Sewak App at: https://play.google.com/store/apps/details?id=" + appPackageName);
sendIntent.setType("text/plain");
context.startActivity(sendIntent);
}
我知道這個問題已經回答了,但我想分享一個替代解決方案:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String shareSubText = "WhatsApp - The Great Chat App";
String shareBodyText = "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en";
shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubText);
shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
startActivity(Intent.createChooser(shareIntent, "Share With"));
共享應用程序是你APP_NAME,內容是應用程序的鏈接
private static void shareApp(Context context) {
final String appPackageName = BuildConfig.APPLICATION_ID;
final String appName = context.getString(R.string.app_name);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String shareBodyText = "https://play.google.com/store/apps/details?id=" +
appPackageName;
shareIntent.putExtra(Intent.EXTRA_SUBJECT, appName);
shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string
.share_with)));
}
最後這段代碼是爲我工作打開我們的Android的電子郵件客戶端。 試試這個片段。
Intent testIntent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "[email protected]");
testIntent.setData(data);
startActivity(testIntent);
其實最好的方式來應用剪切您的用戶之間,谷歌(火力)證明新技術的火力地堡動態鏈接通過幾行,你可以把它 這是文檔 https://firebase.google.com/docs/dynamic-links/ 和代碼是
Uri dynamicLinkUri = dynamicLink.getUri();
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("https://www.google.jo/"))
.setDynamicLinkDomain("rw4r7.app.goo.gl")
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, shortLink.toString());
intent.setType("text/plain");
startActivity(intent);
} else {
// Error
// ...
}
}
});
您也可以使用支持庫中的ShareCompat類。
ShareCompat.IntentBuilder.from(activity)
.setType("text/plain")
.setChooserTitle("Chooser title")
.setText("http://play.google.com/store/apps/details?id=" + activity.getPackageName())
.startChooser();
https://developer.android.com/reference/android/support/v4/app/ShareCompat.html
+1的鏈接。看起來不錯。因爲我希望用戶分享,我仍然需要使用ACTION_SEND並在我的文本中添加市場鏈接。如果用戶點擊它,它會將他重定向到安裝頁面。聽起來不錯,我必須嘗試。讓我知道,如果我理解你的權利。 – Thomas 2011-02-11 20:06:44
是的,您可以使用ACTION_SEND文本中的市場鏈接,但只有在Android設備上點擊時纔會起作用。 – 2011-02-11 20:56:21