4

我知道如何通过 Menuifest.xml 实现此问题,另请参阅:

Google Android 开发者组相关问题

但我的问题是如何通过 java 代码而不是 Menuifest.xml 添加画廊的共享菜单。

我的代码如下:

public class MyActivity extends Activity {

private static final String TAG = "MyActivity";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(Intent.ACTION_SEND);
    intentFilter.addCategory(Intent.CATEGORY_DEFAULT);
    try {
        intentFilter.addDataType("image/*");
    } catch (MalformedMimeTypeException e) {
        Log.e(TAG, e.toString());
    }

    Intent x = registerReceiver(new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) { 
            Log.d(TAG, "Received intent "+intent);
            intent.setComponent(new ComponentName(context, Uploader.class));
            startActivity(intent);
        }
        }, intentFilter);

    if (x==null)
        Log.i(TAG, "failed to regist a receiver");
    else
        Log.i(TAG, "registed a receiver successfully");
    // ...

但是 registerReceiver 总是返回 null,并且没有添加到 Gallery 的 Share 的菜单。

谢谢你。

安东尼·许

4

1 回答 1

1

我在google android开发者群里问过这个问题,android团队成员给我回复:thread in android group

希望对您有所帮助。

于 2009-08-09T04:09:44.330 回答