一、使用剪贴板在activity间传递信息
public class MainActivity extends Activity {
EditText text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(EditText)findViewById(R.id.edit_text);
}
public void start_activity(View view){
Intent intent=new Intent(this,RetainFragment.class);
ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);//使用剪贴板传递信息
clipboard.setText("hello world!");
startActivity(intent);
}
}
接受信息的activity
public class RetainFragment extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView=new TextView(this);
setContentView(textView);
ClipboardManager clipboard=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
textView.setText(clipboard.getText().toString());
}
}
二、在Edittext之类的控件中进行图文混排
public void insert_image(View view){
Random random=new Random();
int pos=random.nextInt(2);
Bitmap bitmap;
if(pos==1)
bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.a1);
else
bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.a2);
ImageSpan imageSpan=new ImageSpan(this,bitmap);
SpannableString spannableString=new SpannableString("face");
spannableString.setSpan(imageSpan,0,4,SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
text.append(spannableString);//注意
}
三、在activity的切换间设置动画
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void start_activity1(View view){
Intent intent=new Intent(this,Activity2.class);
startActivity(intent);
overridePendingTransition(R.anim.in_anim,R.anim.out_anim);//第一个参数指定将要打开的activity的进入动画,后者指定当前activity的退出动画
}
}
四、获知是否有类接收广播
public void start_activity1(View view){
PackageManager manager=getPackageManager();
Intent intent=new Intent("android.broadcast");
List<ResolveInfo> resolveInfos=manager.queryBroadcastReceivers(intent,PackageManager.GET_INTENT_FILTERS);//使用这个类下的方法可以查询到别的信息
StringBuilder str=new StringBuilder();//例如正在运行的服务等等
for(ResolveInfo info:resolveInfos){
str.append(info.toString());
}
}