0
開放的應用程序我用下面的代碼在audio files
份額菜單註冊我的應用程序:獲取文件位置時,從共享菜單
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="audio/*" />
</intent-filter>
怎麼能在我的活動獲取文件名?
我測試下面的代碼,但不工作:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String action = intent.getAction();
String FilePath = "";
if (Intent.ACTION_SEND.equals(action)) {
if (extras.containsKey(Intent.EXTRA_STREAM)) {
Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
FilePath = parseUriToFilename(uri);
}
}
}
public String parseUriToFilename(Uri uri) {
String selectedFile = null;
String filemanagerPath = uri.getPath();
String[] projection = { MediaStore.Audio.Media.DATA};
Cursor cursor = managedQuery(uri, projection, null, null, null);
if (cursor != null) {
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
cursor.moveToFirst();
selectedFile = cursor.getString(column_index);
}
if (selectedFile != null) {
return selectedFile;
}
else if (filemanagerPath != null) {
return filemanagerPath;
}
return null;
}
你能詳細說說嗎?你的代碼不工作? – 2012-04-22 16:24:49