亚马逊的网站建设,在线ps网页版,免费推广网站在线观看,石家庄建设厅官方网站动作提供者是一个动作#xff0c;能定义自己的外观和行为#xff0c;下面是为应用条增加一个动作提供者。 共享动作提供者允许用户与其他应用共享应用中的内容。可以使用动作提供者让用户向他们某个联系人发送一个特色披萨的详细信息。 共享动作提供者会定义自己的图标#…动作提供者是一个动作能定义自己的外观和行为下面是为应用条增加一个动作提供者。 共享动作提供者允许用户与其他应用共享应用中的内容。可以使用动作提供者让用户向他们某个联系人发送一个特色披萨的详细信息。 共享动作提供者会定义自己的图标所以无需自行添加单击这个图标时会提供一个应用列表可以使用所列的这些应用共享内容。对于你选择用来共享内容的最常用的应用还会增加一个单独的图标。
用意图共享内容 要让共享动作提供者共享内容需要为它传递一个意图这个意图要定义你想要的共享的内容及其类型。例如如果定义一个意图用ACTION_SEND动作传递文本这个共享动作提供你的设备上能共享文本的所有应用的一个列表。
为menu_main.xml增加一个共享动作提供者 在strings.xml中增加一一个action_share字符串
string nameaction_shareShare/string使用item元素在菜单资源文件中增加共享动作这次需要指定在使用一个共享动作提供者。为此要增加一个android:actionProviderClass属性。 itemandroid:idid/action_shareandroid:titlestring/action_shareandroid:orderInCategory2app:showAsActionifRoomapp:actionProviderClassandroidx.appcompat.widget.ShareActionProvider/用意图指定内容 单击共享动作时要想让它共享动作需要在活动代码中告诉它要共享那些内容。
private ShareActionProvider shareActionProvider;private void setShareActionIntent(String text) {//创建一个意图使用共享动作提供者的setShareIntent()方法来传递这个意图Intent intent new Intent(Intent.ACTION_SEND);intent.setType(text/plain);intent.putExtra(Intent.EXTRA_TEXT, text);shareActionProvider.setShareIntent(intent);}Override//将菜单资源文件增加到应用条
public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main, menu);//得到共享动作提供者的一个引用并赋给这个私有变量。然后调用setShareActionIntent这个方法MenuItem menuItem menu.findItem(R.id.action_share);shareActionProvider (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);setShareActionIntent(Want to join me for pizza?);//所有onCreateOptionsMenu方法基本上都是这样的return super.onCreateOptionsMenu(menu);
}完整的MainActivity的java代码
package com.hfad.bitsandpizzas;import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.ShareActionProvider;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.MenuItemCompat;import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;public class MainActivity extends AppCompatActivity {//增加一个ShareActionProvider私有变量private ShareActionProvider shareActionProvider;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//设置工具条为活动的应用条Toolbar toolbar (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);}private void setShareActionIntent(String text) {//创建一个意图使用共享动作提供者的setShareIntent()方法来传递这个意图Intent intent new Intent(Intent.ACTION_SEND);intent.setType(text/plain);intent.putExtra(Intent.EXTRA_TEXT, text);shareActionProvider.setShareIntent(intent);}Override//将菜单资源文件增加到应用条public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main, menu);//得到共享动作提供者的一个引用并赋给这个私有变量。然后调用setShareActionIntent这个方法MenuItem menuItem menu.findItem(R.id.action_share);shareActionProvider (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);setShareActionIntent(Want to join me for pizza?);//所有onCreateOptionsMenu方法基本上都是这样的return super.onCreateOptionsMenu(menu);}Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.action_create_order:Intent intent new Intent(this, OrderActivity.class);startActivity(intent);return true;default:return super.onOptionsItemSelected(item);}}
}