2013-09-21 5 views
3

Привет я работаю на андроид пусковую для образования, и мне нужно, чтобы быть в состоянии, когда пользователь нажимает на кнопку школьные инструменты он запускает школьные инструменты приложение, которое устанавливается на устройствеКак открыть установленное приложение для Android с нажатием кнопки?

Вот код

package com.d4a.stzh; 

import android.net.Uri; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.content.Intent; 

import com.actionbarsherlock.app.SherlockFragment; 

public class FragmentTab1 extends SherlockFragment { 
    private Button appbtn; 
    private Button webbtn; 
    private Button toolsbttn; 



    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // Get the view from fragmenttab1.xml 
     View view = inflater.inflate(R.layout.fragmenttab1, container, false); 


     //Get the button from layout 
     appbtn = (Button) view.findViewById(R.id.app); 
     webbtn = (Button) view.findViewById(R.id.web); 
     toolsbttn = (Button) view.findViewById(R.id.tools); 

     //show all apps installed on the device 
     appbtn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(FragmentTab1.this.getActivity(), MyLauncherActivity.class); 
       startActivity(intent); 

      } 


      }); 


     //luanches google on the default web browser 
     webbtn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       String url = "http://www.google.com"; 
       Intent i = new Intent(Intent.ACTION_VIEW); 
       i.setData(Uri.parse(url)); 
       startActivity(i); 
      } 
     }); 
     //tools button i know ths code is wrong!I need help here! 
     toolsbttn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(FragmentTab1.this.getActivity(), MyLauncherActivity.class); 
       startActivity(intent); 

      } 


      }); 

     return view; 
    } 


    @Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     setUserVisibleHint(true); 
    } 

} 

Я еще новичок андроид кодирования поэтому, пожалуйста, не судите меня

Любая помощь будет удивительно Спасибо способ заранее

с уважением

Rapsong11

ответ

8

Этот фрагмент кода должен делать то, что вы пытаетесь достичь

Intent i; 
PackageManager manager = getPackageManager(); 
try { 
    i = manager.getLaunchIntentForPackage("com.example.schoolToolApp"); 
if (i == null) 
    throw new PackageManager.NameNotFoundException(); 
i.addCategory(Intent.CATEGORY_LAUNCHER); 
startActivity(i); 
} catch (PackageManager.NameNotFoundException e) { 

} 

Это будет просто запустить другое приложение по имени пакета

источник - Open another application from your own (intent)

+0

Спасибо так много :) – rapsong11

Смежные вопросы