2012-03-16 11 views
0

メールをタブアクティビティで表示したい。それは私のコードです。tabViewで電子メール作成機能を使用するにはどうすればよいですか?

 TabHost tabHost=getTabHost(); 
    TabHost.TabSpec spec; 
    Intent intent; 

    //View tabView= tabHost.getChildAt(0); 
    //tabView.setPadding(0, 13, 0, 13); 
    //tabView.setBackgroundColor(0xFFFFFFFF); 
    intent=new Intent("com.android.phone.action.RECENT_CALLS").setClass(this,CallListActivity.class); 
    spec=tabHost.newTabSpec("Call").setIndicator("Call").setContent(intent); 
    tabHost.addTab(spec); 

    intent=new Intent("android.intent.action.Compose_EMAIL"); 
    intent.setClassName("com.android.email", "com.android.email.activity.MessageCompose"); 
    spec=tabHost.newTabSpec("Message").setIndicator("Message").setContent(intent); 
    tabHost.addTab(spec);  

    intent=new Intent().setClass(this, com.android.contacts.qs.logger.email.QsEmailLogger.class); 
    spec=tabHost.newTabSpec("Email").setIndicator("Email").setContent(intent); 
    tabHost.addTab(spec); 

    intent=new Intent().setClass(this,com.android.contacts.qs.logger.notification.NotificationLogger.class); 
    spec=tabHost.newTabSpec("Notification").setIndicator("Notification").setContent(intent); 
    tabHost.addTab(spec);      

    tabHost.setCurrentTab(0); 

このコードはエラーを生成します。 エラーは03-16 12:04:09.132:E/AndroidRuntime(312):java.lang.SecurityException:プロセスで実行されるcom.android.email(uid 10011)のコードのリクエストandroid.process.acoreタブボタン上)のuid 10001と

intent=new Intent("android.intent.action.Compose_EMAIL"); 
    intent.setClassName("com.android.email", "com.android.email.activity.MessageCompose"); 
    spec=tabHost.newTabSpec("Message").setIndicator("Message").setContent(intent); 
    tabHost.addTab(sp 

答えて

1

はsharedUserIdパラメータが二つのアプリ間でデータをコード、プロセスを共有するために使用される

android:sharedUserId="android.uid.shared" 
android:sharedUserLabel="@string/sharedUserLabel" 

、以下の行を記述マニフェスト。 そのコードは両方のアプリに適用されます。

と、両方のアプリがあなたの.mkファイルに次の行を書き...

LOCAL_CERTIFICATE := shared 
1

あなたは、これはonClickの

public void sendSimpleEmail(View textView) { 
    try { 

    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     emailIntent.setType("plain/text"); 

     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
       new String[] { email_add }); 
     startActivity(emailIntent); 
    } catch (Exception e) { 

     Toast.makeText(getApplicationContext(), 
       "First Log in to your Email Account", Toast.LENGTH_LONG) 
       .show(); 
    } 
} 
このメソッドを呼び出して、コンメールウィンドウを開くために使用される方法である方法

 tv_email.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       sendSimpleEmail(tv_email); 
      } 
     });   

呼び出すことができますクリックしてくださいアプリケーション内の

+0

私はジンジャーブレッドのソースコードに取り組んでいます。 Contact packageのMeassageCompose.javaアクティビティを呼び出したいと思っています。なぜこのメサージを使うことができなかったのか、コア電子メール機能を変更しています。 –

関連する問題