1
내 앱 사용자에게 zxing 바코드 스캐너를 사용할 수없는 경우 설치하도록 요청하고 싶습니다. 이것은 내가 대화를로드하고 응용 프로그램을 다운로드하는 사용자에게 물어 사용하고 코드이지만, 현재 '아무 작업 발견'관련 오류 반환되지 것 :Android에서 타사 앱 설치 시작
매니페스트 :
<activity
android:name=".FrontActivity"
android:label="@string/title_activity_front"
android:screenOrientation = "portrait"
android:theme="@style/NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
자바 :
를public class FrontActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.front_activity);
isScannerInstalled();
}
private void isScannerInstalled()
{
try
{
ApplicationInfo info =
getPackageManager().
getApplicationInfo("com.google.zxing.client.android",0);
}
catch (PackageManager.NameNotFoundException e)
{
AlertDialog.Builder alertDialogBuilder =
new AlertDialog.Builder(FrontActivity.this);
alertDialogBuilder.setTitle("Warning");
alertDialogBuilder.setMessage("Please install the Barcode Scanner.");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setNeutralButton
(
"OK",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
Uri uri = Uri.parse(
"market://search?q=pname:com.google.zxing.client.android"
);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
}
}
);
alertDialogBuilder.show();
}
}
}
오류 :
11-16 08:37:37.716: E/AndroidRuntime(12694): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://search?q=pname:com.google.zxing.client.android }
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.app.Activity.startActivityForResult(Activity.java:2817)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.app.Activity.startActivity(Activity.java:2923)
11-16 08:37:37.716: E/AndroidRuntime(12694): at test.app01.FrontActivity$1.onClick(FrontActivity.java:140)
11-16 08:37:37.716: E/AndroidRuntime(12694): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.os.Handler.dispatchMessage(Handler.java:99)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.os.Looper.loop(Looper.java:123)
11-16 08:37:37.716: E/AndroidRuntime(12694): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-16 08:37:37.716: E/AndroidRuntime(12694): at java.lang.reflect.Method.invokeNative(Native Method)
11-16 08:37:37.716: E/AndroidRuntime(12694): at java.lang.reflect.Method.invoke(Method.java:521)
11-16 08:37:37.716: E/AndroidRuntime(12694): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-16 08:37:37.716: E/AndroidRuntime(12694): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-16 08:37:37.716: E/AndroidRuntime(12694): at dalvik.system.NativeStart.main(Native Method)
사람이 문제가 될 일을 볼 수 있을까요? 에뮬레이터는 시장 응용 프로그램을 가지고 있지 않기 때문에
당신은 어떤 장치에서 실행중인? 에뮬레이터? 시장 URI는 'market : // details? id = com.google.zxing.client.android'여야합니다. Google Play가 설치되어 있지 않으면 Google Play에 연결되는 HTTP 버전의 ACTION_VIEW로 되돌아갑니다. – Jens
감사합니다 Jens 많이 – Spoonface