我有一些文件,我想通過Bluetooth
發送。 這裏是我的代碼如何暫停父活動,直到兒童活動完成
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<Uri> uris = new ArrayList<Uri>();
String multifile[] = {"/sdcard/file1.txt", "/sdcard/file2.txt", "/sdcard/file3.txt"};
int len = multifile.length;
Intent Int = new Intent();
Int.setAction(android.content.Intent.ACTION_SEND_MULTIPLE);
Int.setType("*/*");
String packageName = null;
String className = null;
boolean found = false;
PackageManager pm = getPackageManager();
List appsList = pm.queryIntentActivities(Int, 0);
ArrayList<ResolveInfo> list = (ArrayList<ResolveInfo>) pm.queryIntentActivities(Int, PackageManager.PERMISSION_GRANTED);
for(ResolveInfo info: list) {
packageName = info.activityInfo.packageName;
if(packageName.equals("com.android.bluetooth")) {
className = info.activityInfo.name;
found = true;
break;// found
}
}
if (!found) {
Toast.makeText(MainActivity.this, "not foud bluetooth",
Toast.LENGTH_SHORT).show();
// exit
}
Int.setClassName(packageName, className);
for(int i=0;i<len;i++) {
File file=new File(multifile[i]);
uris.add(Uri.fromFile(file));
}
Int.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Int);
onStop(); //stop here till all file have been sent
//delete all files which is to be send
}
}
所有三個文件已經發出,但問題是Mainactivity
執行繼續 Intent Int
完成前,由於所有文件都發送文件 刪除前請幫助如何停止的Mainactivity
執行直到Int發送所有文件
但我不知道如何使用startActivityforResult與Int.setClassName(packageName,className); – JOHNCENA
@JOHNCENA你現在正在用'startActivity(Int)'開始活動。取而代之,用'startActivityForResult(Int,_requestCode _);'創建一個'onActivityResult()'方法。您的_requestCode_(值是您選擇的,其他地方無關緊要)將與孩子提供的結果(使用'setResult()')一起反饋給'onActivityResult()'。 – mah
但是,如何暫停父活動,因爲父活動的執行在開始活動結束後繼續,主要問題請幫助 – JOHNCENA